AndroidサポートデザインライブラリはNavigationViewを提供します。
<Android.support.design.widget.NavigationView
...
app:menu="@menu/navigation_drawer_items" />
menu/navigation_drawer_items:
<menu xmlns:Android="http://schemas.Android.com/apk/res/Android">
<group Android:checkableBehavior="single">
<item .../>
...
</group>
<group Android:checkableBehavior="single">
<item .../>
...
</group>
</menu>
グループ間にディバイダー、セパレーター、またはスペースを追加する方法(写真のように)
ちょうど各グループに一意のIDを与えますセパレータを自動的に作成します。
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:Android="http://schemas.Android.com/apk/res/Android">
<group Android:id="@+id/group_feature"
Android:checkableBehavior="single">
<item Android:id="@+id/navdrawer_item_map"
Android:checked="true"
Android:icon="@drawable/ic_drawer_map"
Android:title="@string/navdrawer_item_map"/>
</group>
<group Android:id="@+id/group_settings"
Android:checkableBehavior="single">
<item Android:id="@+id/navdrawer_item_settings"
Android:icon="@drawable/ic_drawer_settings"
Android:title="@string/navdrawer_item_settings"/>
</group>
</menu>
あなたはこのようなことをします。
<menu xmlns:Android="http://schemas.Android.com/apk/res/Android">
<group Android:checkableBehavior="single">
<item
Android:id="@+id/nav_home"
Android:icon="@drawable/ic_dashboard"
Android:title="Home" />
<item
Android:id="@+id/nav_messages"
Android:icon="@drawable/ic_event"
Android:title="Messages" />
<item
Android:id="@+id/nav_friends"
Android:icon="@drawable/ic_headset"
Android:title="Friends" />
<item
Android:id="@+id/nav_discussion"
Android:icon="@drawable/ic_forum"
Android:title="Discussion" />
</group>
<item Android:title="Sub items">
<menu>
<item
Android:icon="@drawable/ic_dashboard"
Android:title="Sub item 1" />
<item
Android:icon="@drawable/ic_forum"
Android:title="Sub item 2" />
</menu>
</item>
</menu>
このコードは、Chris Barnesが作成したデザインライブラリのサンプルアプリから取得しています https://github.com/chrisbanes/cheesesquare
私はこのように使用しています:
<group
Android:id="@+id/group1"
Android:checkableBehavior="single">
<item
Android:id="@+id/menu1"
Android:icon="@drawable/somedrawable"
Android:title="Lorem ipsum" />
</group>
<group
Android:id="@+id/group2"
Android:checkableBehavior="single">
<item
Android:id="@+id/menu2"
Android:icon="@drawable/somedrawable"
Android:title="Dolor it amet" />
</group>
IDは重要です(+ id/group1および+ id/group2)。 IDがないと、仕切りは表示されません。私のアプリで動作しています。
NavigationMenuListのDividerは、メニュー項目をグループ化することで実現しましたが、必要なグループID @ + idを指定していることを確認してください。 以下はあなたのために動作するコードです
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:Android="http://schemas.Android.com/apk/res/Android">
<group
Android:id="@+id/gp_one"
Android:checkableBehavior="single">
<item
Android:id="@+id/nav_home"
Android:icon="@drawable/ic_avatar"
Android:title="Home" />
</group>
<group
Android:id="@+id/gp_two"
Android:checkableBehavior="single">
<item
Android:id="@+id/nav_account"
Android:icon="@drawable/ic_avatar"
Android:title="My Account" />
<item
Android:id="@+id/nav_orders"
Android:icon="@drawable/ic_avatar"
Android:title="My Orders" />
<item
Android:id="@+id/nav_wishlist"
Android:icon="@drawable/ic_avatar"
Android:title="My Wishlist" />
</group>
<group
Android:id="@+id/gp_three"
Android:checkableBehavior="single">
<item
Android:id="@+id/nav_rateus"
Android:icon="@drawable/ic_avatar"
Android:title="Rate Us" />
<item
Android:id="@+id/nav_share"
Android:icon="@drawable/ic_avatar"
Android:title="Share" />
<item
Android:id="@+id/nav_logout"
Android:icon="@drawable/ic_avatar"
Android:title="Logout" />
</group>
<item Android:title="title_name">
と</item>
の間にテキストを追加できます
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto">
<group Android:checkableBehavior="single">
<item
Android:id="@+id/nav_display_image"
Android:title="Load Image"
Android:icon="@drawable/ic_menu_gallery"
app:showAsAction="always"
app:actionLayout="@layout/switch_nav_drawer"/>
<item
Android:id="@+id/nav_camera"
Android:icon="@drawable/ic_menu_camera"
Android:title="Saved News" />
<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" />
</group>
<item Android:title="Settings">
<menu>
<item
Android:id="@+id/nav_manage"
Android:icon="@drawable/ic_menu_manage"
Android:title="Tools" />
</menu>
</item>
<item
Android:id="@+id/about_us"
Android:icon="@drawable/ic_info_black_24dp"
Android:title="About Us"></item>
</menu>