在菜单项xml之间添加水平视图(行)

时间:2015-12-08 18:42:13

标签: android xml navigationview android-navigationview

我正在使用导航视图,标签菜单和项目,我想在每个选项之间添加线条。这是我的菜单:

<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中添加其他类的标记。

2 个答案:

答案 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>

enter image description here

答案 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;
}