with studio library iniciar fragments example ejemplo android android-support-library divider navigationview android-navigationview

android - studio - navigationview fragments



NavigationView: ¿cómo insertar divisor sin subgrupo? (4)

Probé esto y funcionó

Ver implementación desde la línea 122-125.

Este es mi archivo de menú y está creando el separador:

<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=".MyFirstMNCActivity"> <group android:id="@+id/grp1"> <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"> <item android:id="@+id/navigation_item_2" android:icon="@drawable/ic_home" android:title="@string/navigation_item_2" /> </group> </menu>

¿Cómo puedo colocar un divisor sin título Subgrupo en el nuevo NavigationView?

<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="single"> <item android:id="@+id/drawer_armario" android:icon="@drawable/armario" android:title="@string/armario" /> <item android:id="@+id/drawer_amigos" android:icon="@drawable/amigos" android:title="@string/amigos" /> </group> <item android:title="Configuración"> <menu> <item android:id="@+id/drawer_ajustes" android:icon="@drawable/ajustes" android:title="@string/ajustes" /> <item android:id="@+id/drawer_ayuda" android:icon="@drawable/ayuda" android:title="@string/ayuda" /> <item android:id="@+id/drawer_sign_out" android:icon="@drawable/sign_out" android:title="@string/sign_out" /> </menu> </item>

Me gustaría poner una línea entre los elementos de amigos y ajustes sin el título de Configuración.

¡¡¡Gracias!!!


Todo lo que necesita hacer es definir un group con una ID única. Miré a través de la implementación de NavigationView , y creará un divisor cada vez que se cambie la identificación del grupo.

p.ej

<group android:id="@+id/my_id"> <!-- Divider will appear above this item --> <item ... /> </group>


Utilizando xml

<android.support.design.widget.NavigationView ... app:itemIconTint="@android:color/black" ... />

Programáticamente

yourNavigationView.setItemIconTintList(null);

Siento que es una buena respuesta.

La mejor de las suertes.


NavigationView navigationView = (NavigationView) findViewById(R.id.navigation); NavigationMenuView navMenuView = (NavigationMenuView) navigationView.getChildAt(0); navMenuView.addItemDecoration(new DividerItemDecoration(appContext,DividerItemDecoration.VERTICAL_LIST));

Aquí está la esencia de DividerItemDecoration

DividerItemDecoration.java