在对android进行一些研究时,我遇到了DrawerLayout和navigationView for menu。 在我的应用程序上通过教程实现了带滑动菜单的简单导航。 菜单显示为欲望,但我无法互动。 当我触摸菜单中的项目时,我没有得到任何动作,也没有突出显示。对于我的生活,我无法找出错误。编译时或运行时没有显示错误。调试器中没有任何内容。
我的主要活动代码:
mDraw = (DrawerLayout) findViewById(R.id.drawer);
mToggle = new ActionBarDrawerToggle(this, mDraw, R.string.open, R.string.close);
mDraw.addDrawerListener(mToggle);
mToggle.syncState();
mainNavigationMenu = (NavigationView) findViewById(R.id.navId);
mainNavigationMenu.setNavigationItemSelectedListener(
new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
Log.i("Flag",""+item.getItemId());
return false;
}
});
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
以下是代码的XML方面:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.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:id="@+id/drawer"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.bikenmaharjan.priceapp.HomeActivity">
<android.support.design.widget.NavigationView
android:id="@+id/navId"
app:headerLayout="@layout/header"
android:layout_width="wrap_content"
app:itemTextColor="@color/white"
android:layout_height="match_parent"
app:menu="@menu/menu"
android:layout_gravity="start">
</android.support.design.widget.NavigationView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="25dp"
>
<android.support.v7.widget.CardView
android:id="@+id/cv"
android:layout_width="match_parent"
android:layout_height="180dp"
app:cardCornerRadius="8dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:layout_width="220dp"
android:layout_height="90dp"
android:src="@drawable/upc" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/scan" />
</FrameLayout>
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="goocr"
android:text="Scan receipt" />
</LinearLayout>
</android.support.v7.widget.CardView>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="30dp"
android:text="Product"
android:textSize="28sp" />
<android.support.v7.widget.RecyclerView
android:id="@+id/rv"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</android.support.v7.widget.RecyclerView>
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
以下是菜单项:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/addProduct"
android:title="Add Product"
android:state_pressed="true"
android:drawable="@color/black"
/>
<item android:title="Help"
android:id="@+id/help"
/>
<item android:title="Sign Out"
android:id="@+id/signOut"
/>
</menu>