我正在使用导航视图,标签菜单和项目,我想在每个选项之间添加线条。这是我的菜单:
<group android:checkableBehavior="single">
<item
android:id="@+id/nav_camera"
android:icon="@drawable/ic_menu_camera"
android:title="Import" />
<item
android:id="@+id/nav_gallery"
android:icon="@drawable/ic_menu_gallery"
android:title="Gallery" />
<item
android:id="@+id/nav_slideshow"
android:icon="@drawable/ic_menu_slideshow"
android:title="Slideshow" />
<item
android:id="@+id/nav_manage"
android:icon="@drawable/ic_menu_manage"
android:title="Tools" />
</group>
我不太清楚这个项目的工作原理以及为什么我们不能从XML中添加其他类的标记。
答案 0 :(得分:4)
您必须将要分隔的项目分组。 每个群组都需要一个唯一ID 。
<group android:id="@+id/group1"
android:checkableBehavior="single">
<item
android:id="@+id/first"
android:icon="@drawable/ic_settings"
android:title="First item" />
</group>
<group android:id="@+id/group2"
android:checkableBehavior="single">
<item
android:id="@+id/second"
android:icon="@drawable/ic_menu_send"
android:title="Second item" />
</group>
<group android:id="@+id/group3"
android:checkableBehavior="single">
<item
android:id="@+id/third"
android:icon="@drawable/ic_menu_share"
android:title="Third item" />
</group>
答案 1 :(得分:0)
@kulosos答案仅适用于抽屉式导航器,如快照中所示。
对于菜单项,请尝试以下操作:
<menu>
<group android:id="@+id/group1" >
<item
android:id="@+id/Import"
android:title="@string/Import"/>
<item
android:id="@+id/Gallery"
android:title="@string/Gallery"/>
</group>
<group android:id="@+id/group2">
<item
android:id="@+id/action_settings"
android:title="@string/action_settings"/>
</group>
</menu>
在MenuCompat.setGroupDividerEnabled(menu, true)
中添加onCreateOptionsMenu
,以使小组能够正常工作。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
MenuCompat.setGroupDividerEnabled(menu, true);
return true;
}