androidnavigation-drawerandroid-support-libraryandroid-design-librarynavigationview

How to create a simple divider in the new NavigationView?


Google introduced the NavigationView in the Design Support Library version 22.2.0 with which you can create a drawer very easily using a menu resource.

How can I create a simple divider line between two items? Grouping the items didn't work. Creating a sub items section does create a divider line, but it requires a title, which I don't want.

Any help would be appreciated.


Solution

  • All you need to do is define a group with an unique ID. I have checked the implementation, and if groups have different ids, it will create a divider.

    Example menu, creating the separator:

    <menu xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        tools:context=".MainActivity">
    
        <group android:id="@+id/grp1" android:checkableBehavior="single" >
            <item
                android:id="@+id/navigation_item_1"
                android:checked="true"
                android:icon="@drawable/ic_home"
                android:title="@string/navigation_item_1" />
        </group>
    
        <group android:id="@+id/grp2" android:checkableBehavior="single" >
            <item
                android:id="@+id/navigation_item_2"
                android:icon="@drawable/ic_home"
                android:title="@string/navigation_item_2" />
        </group>
    </menu>