我正忙于尝试从我在android studio中使用的默认导航栏选项创建下拉菜单。我已经读过很多地方需要使用可扩展列表视图,但是我不确定如何实现它,因为我习惯于编码。这是我的menudrawer.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:showIn="navigation_view">
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_add"
android:icon="@drawable/ic_playlist_add_black_24dp"
android:title="Add Products" />
<item
android:id="@+id/nav_up"
android:icon="@drawable/ic_create_black_24dp"
android:title="Update or delete Products" />
<item
android:id="@+id/nav_cus"
android:icon="@drawable/ic_local_library_black_24dp"
android:title="Customers" />
<item android:id="@+id/calc"
android:icon="@drawable/baseline_tablet_black_18dp"
android:title="Calculator"/>
--This part under the title Calculator i want a drop down which has different calculator options
</group>
<item android:title="Other Functions">
<menu>
<item
android:id="@+id/nav_send"
android:icon="@drawable/ic_menu_send"
android:title="Logout" />
</menu>
</item>
</menu>
这是我的main.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_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:background="@drawable/background"
tools:openDrawer="start">
<include
layout="@layout/app_bar_emily"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_emily"
app:menu="@menu/activity_emily_drawer" />
</android.support.v4.widget.DrawerLayout>
这是我的.java文件:
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_add) {
Intent i = new Intent(this,Products.class);
startActivity(i);
// Handle the camera action
} else if (id == R.id.nav_send) {
Intent jj = new Intent(this,login.class);
startActivity(jj);
}
else if (id == R.id.nav_up) {
Intent jj = new Intent(this,updelProducts.class);
startActivity(jj);
}
else if (id == R.id.nav_cus) {
Intent z = new Intent(this,Customer.class);
startActivity(z);
}
else if (id == R.id.calc) {
Intent jj = new Intent(this, Calc_140_plain.class);
startActivity(jj);
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
现在,我想在“计算器”标签下添加一个下拉菜单,在这里我有不同的计算器,可将用户带到适当的页面
答案 0 :(得分:1)
如果我对您的理解正确,则希望在菜单项中显示其他项。您可以通过使用<menu>
内的<item>
轻松地做到这一点。
<menu 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"
tools:context=".MainActivity">
<item
android:id="@+id/firstOne"
android:orderInCategory="1"
android:title="First One"
app:showAsAction="ifRoom">
<menu>
<item
android:id="@+id/menuSortNewest"
android:title="1-1" />
<item
android:id="@+id/menuSortRating"
android:title="1-2" />
</menu>
</item>
<item
android:id="@+id/action_refresh"
android:orderInCategory="2"
android:title="Second One"
app:showAsAction="ifRoom"/>
</menu>
例如,上面的代码将显示两个不同的项目,分别是 First One 和 Second One 。单击第一个时,您会看到两个不同的选项,分别为 1-1 和 1-2 。我希望这会有所帮助。
祝你有美好的一天!