#java #android #android-studio
#java #Android #android-studio
Вопрос:
Ящик для бургеров работает хорошо, однако логотип панели инструментов не работает, когда я нажимаю на него. Я проверил все, однако я не нашел, что не так. я попробовал поработать с чистой активностью, и логотип и ящик действительно работают. ящик работает только тогда, когда я сдвигаю его вправо. пожалуйста, очень цените это, спасибо за помощь.
вот мой XML-файл
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bordergreen4"
tools:context=".duashome"
android:id="@ id/drawer_layout"
android:fitsSystemWindows="true">
<com.google.android.material.navigation.NavigationView
android:id="@ id/nav_view"
android:layout_width="wrap_content"
app:headerLayout="@layout/header"
app:menu="@menu/menu_drawer"
android:layout_gravity="start"
android:layout_height="match_parent"/>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/bordergreen4"
tools:context=".home">
<LinearLayout
android:id="@ id/duasupperlayout"
android:layout_width="match_parent"
android:layout_height="200dp"
app:layout_constraintEnd_toStartOf="parent"
app:layout_constraintStart_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:orientation="vertical">
<androidx.appcompat.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:logo="@drawable/ic_baseline_dehaze_24"
android:id="@ id/toolbar">
</androidx.appcompat.widget.Toolbar>
</LinearLayout>
<androidx.cardview.widget.CardView
android:id="@ id/cardView"
android:layout_width="200dp"
android:layout_height="50dp"
android:layout_marginTop="100dp"
android:elevation="16dp"
app:cardCornerRadius="10dp"
app:layout_constraintBottom_toBottomOf="@ id/duasupperlayout"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#2E856E"
android:fontFamily="@font/hallington"
android:gravity="center"
android:text="List of Duas"
android:textColor="@color/white"
android:textSize="30sp">
</TextView>
</androidx.cardview.widget.CardView>
<RelativeLayout
android:id="@ id/duaslowerlayout"
android:layout_width="match_parent"
android:layout_height="70dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="parent"
app:layout_constraintStart_toEndOf="parent">
</RelativeLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="0dp"
app:layout_constraintBottom_toTopOf="@ id/duaslowerlayout"
app:layout_constraintEnd_toStartOf="parent"
app:layout_constraintStart_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@ id/duasupperlayout">
<RelativeLayout
android:layout_width="match_parent"
android:gravity="center"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<Button
android:layout_width="300dp"
android:layout_height="match_parent"
android:text="Dua Tawassul">
</Button>
<Button
android:layout_width="300dp"
android:layout_height="match_parent"
android:text="Dua Kumayl">
</Button>
<Button
android:layout_width="300dp"
android:layout_height="match_parent"
android:text="Dua Azumal Bala">
</Button>
<Button
android:layout_width="300dp"
android:layout_height="match_parent"
android:text="sdsds">
</Button>
<Button
android:layout_width="300dp"
android:layout_height="match_parent"
android:text="sdsds">
</Button>
<Button
android:layout_width="300dp"
android:layout_height="match_parent"
android:text="sdsds">
</Button>
<Button
android:layout_width="300dp"
android:layout_height="match_parent"
android:text="sdsds">
</Button>
<Button
android:layout_width="300dp"
android:layout_height="match_parent"
android:text="sdsds">
</Button>
<Button
android:layout_width="300dp"
android:layout_height="match_parent"
android:text="sdsds">
</Button>
<Button
android:layout_width="300dp"
android:layout_height="match_parent"
android:text="sdsds">
</Button>
<Button
android:layout_width="300dp"
android:layout_height="match_parent"
android:text="sdsds">
</Button>
<Button
android:layout_width="300dp"
android:layout_height="match_parent"
android:text="sdsds">
</Button>
<Button
android:layout_width="300dp"
android:layout_height="match_parent"
android:text="sdsds">
</Button>
<Button
android:layout_width="300dp"
android:layout_height="match_parent"
android:text="sdsds">
</Button>
<Button
android:layout_width="300dp"
android:layout_height="match_parent"
android:text="sdsds">
</Button>
<Button
android:layout_width="300dp"
android:layout_height="match_parent"
android:text="sdsds">
</Button>
</LinearLayout>
</RelativeLayout>
</ScrollView>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.drawerlayout.widget.DrawerLayout>
и java
package com.example.munajat;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.appcompat.widget.Toolbar;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import com.google.android.material.navigation.NavigationView;
public class duashome extends AppCompatActivity {
//variablesmenudrawer
DrawerLayout drawerLayout;
NavigationView navigationView;
Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_duashome);
//definingmenudrawer
drawerLayout = findViewById(R.id.drawer_layout);
navigationView = findViewById(R.id.nav_view);
toolbar = findViewById(R.id.toolbar);
//toolbar
setSupportActionBar(toolbar);
//navdrawermenu
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawerLayout, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawerLayout.addDrawerListener(toggle);
toggle.syncState();
}
@Override
public void onBackPressed() {
if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
drawerLayout.closeDrawer(GravityCompat.START);
}
else {
super.onBackPressed();
}
}
}
Комментарии:
1. Попробуйте сделать
NavigationView
последнее вDrawerLayout
и посмотреть, работает ли оно…2. Итак, чтобы было ясно, что на вашей панели инструментов есть оба
burger navigation icon
иlogo icon
бок о бок? И вы хотите, чтобы ящик работал, когда вы нажимаете на любой из них?
Ответ №1:
Вам нужно добавить панель инструментов в ActionBarDrawerToggle.
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawerLayout, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);