Google在Design Support Library版本22.2.0中引入了NavigationView
,您可以使用菜单资源非常轻松地创建抽屉。
我如何在两个项目之间创建一个简单的分隔线? 将项目分组无效。 创建子项部分会创建分隔线,但需要标题,而我不想要标题。
任何帮助都将不胜感激。
Google在Design Support Library版本22.2.0中引入了NavigationView
,您可以使用菜单资源非常轻松地创建抽屉。
我如何在两个项目之间创建一个简单的分隔线? 将项目分组无效。 创建子项部分会创建分隔线,但需要标题,而我不想要标题。
任何帮助都将不胜感激。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single" android:id="@+id/grp1">
<item
android:id="@+id/nav_register_customer"
android:icon="@drawable/ic_menu_camera"
android:checkableBehavior="none"
android:title="Register Customer" />
</group>
<group android:id="@+id/grp2"
android:checkableBehavior="single" >
<item
android:id="@+id/nav_slideshow"
android:icon="@drawable/ic_menu_slideshow"
android:checkableBehavior="none"
android:title="Slideshow" />
</group>
</menu>
因此,使用以下代码:
android:checkableBehavior="single"
并给它一个唯一的ID即可解决问题。
除了之前的答案,如果您想要装饰性分隔符但又不想因为“可选行为”问题创建多个组 - 您可以将相同的组ID分配给所有组。
例如:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group
android:id="@+id/group_nav_common" <!-- New group id-->
android:checkableBehavior="single">
<item
android:id="@+id/menu_item_nav_home"
android:icon="@drawable/ic_home_black_24dp"
android:title="@string/nav_menu_main" />
<item
android:id="@+id/menu_item_nav_articles"
android:icon="@drawable/ic_art_track_black_24dp"
android:title="@string/latest_news" />
<item
android:id="@+id/menu_item_nav_group_categories"
android:title="@string/nav_menu_sections">
<menu>
<group
android:id="@id/group_nav_common" <!-- Existing group id -->
android:checkableBehavior="single">
<!-- Programmatically populated section -->
</group>
</menu>
</item>
<item
android:id="@+id/menu_item_nav_group_sites"
android:title="@string/nav_menu_sites">
<menu>
<group
android:id="@id/group_nav_common" <!-- Existing group id -->
android:checkableBehavior="single">
<item
android:id="@+id/menu_item_nav_select_site"
android:icon="@drawable/ic_account_balance_black_24dp"
android:title="@string/nav_menu_select_site" />
</group>
</menu>
</item>
</group>
onCreateOptionsMenu
中,以便为唯一的组ID提供支持:if (Build.VERSION.SDK_INT >= 28) {
menu.setGroupDividerEnabled(true)
}
Menu menu = navigationView.getMenu();
menu.addSubMenu(" ").add(" ");
这将添加一个分隔符。
使用menu.getItem(int index)
时,请确保传递正确的索引。