1

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

<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 中放置其他类别的标签。

4

2 回答 2

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>

在此处输入图像描述

于 2016-02-26T10:41:54.110 回答
0

@kulosos 回答仅适用于drawerNavigator,如快照所示。

对于菜单项,试试这个:

<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;
}
于 2019-04-21T05:52:52.917 回答