使用 xml 菜单在导航抽屉中分隔

Divider in Navigation Drawer using a xml menu

我一直在关注最新的 (?) tutorial of how to implement a Material Design Navigation Drawer side by side with this blogpost.

它没有填充列表视图,而是使用菜单资源 (xml)。非常整洁和简单,但是..

我不知道如何在菜单项之间添加分隔线。 图片来自 Material 设计规范:

menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android">
   <group android:checkableBehavior="single">
      <item
         android:id="@+id/item_1"
         android:checked="true"
         android:icon="@android:drawable/ic_menu_info_details"
         android:title="Item1"
      />
      <item
         android:id="@+id/item_2"
         android:icon="@android:drawable/ic_menu_agenda"
         android:title="Item2"
      />
      <item
         android:id="@+id/item_3"
         android:icon="@android:drawable/ic_menu_mapmode"
         android:title="Item3"
      />
      <item
         android:id="@+id/item_4"
         android:icon="@android:drawable/ic_menu_help"
         android:title="Item4"
      />
   </group>
</menu>

我试过按组划分,但没有分隔符。当我添加一个子菜单时,我得到了一个分隔线,但也有一个不需要的 header。

像这样:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
  <group android:checkableBehavior="single">
    <item
      android:id="@+id/item_1"
      android:checked="true"
      android:title="Header1"
    >
      <menu>
        <item
          android:id="@+id/item_2"
          android:icon="@android:drawable/ic_menu_agenda"
          android:title="SubItem1"
        />
      </menu>
    </item>
    <item
      android:id="@+id/item_2"
      android:icon="@android:drawable/ic_menu_agenda"
      android:title="Item2"
    />
    <item
      android:id="@+id/item_3"
      android:icon="@android:drawable/ic_menu_mapmode"
      android:title="Item3"
    />
    <item
       android:id="@+id/item_4"
       android:icon="@android:drawable/ic_menu_help"
       android:title="Item4"
    />
  </group>
</menu>

我想要分隔线,而不是 header。 在此先感谢您的帮助!

要在每个 菜单项后添加分隔符 为每个 组项 提供唯一 id ,如下所示

<group
    android:id="@+id/group_item_1"
    android:checkableBehavior="single">
    <item
        android:id="@+id/nav_agreement"
        android:icon="@mipmap/ic_launcher"
        android:title="Agreement" />
</group>
<group
    android:id="@+id/group_item_2"
    android:checkableBehavior="single">
    <item
        android:id="@+id/nav_aboutus"
        android:icon="@mipmap/ic_launcher"
        android:title="About Us" />
</group>
<group
    android:id="@+id/group_item_3"
    android:checkableBehavior="single">
    <item
        android:id="@+id/nav_terms"
        android:icon="@mipmap/ic_launcher"
        android:title="Terms Condition  " />
</group>
<group
    android:id="@+id/group_item_4"
    android:checkableBehavior="single">
    <item
        android:id="@+id/nav_chngpassword"
        android:icon="@mipmap/ic_launcher"
        android:title="Change Password" />
</group>
<group
    android:id="@+id/group_item_5"
    android:checkableBehavior="single">
    <item
        android:id="@+id/nav_signout"
        android:icon="@mipmap/ic_launcher"
        android:title="Sign Out" />
</group>