Añadir separador en los elementos del Menú en Android


Si queremos añadir una linea divisora para separar los elementos del menú, debemos agrupar los menús con la etiqueta group , se requiere establecer un identificador al grupo, ejemplo:

<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="com.webserveis.testtheme.MainActivity">

    <group android:id="@+id/grp1">

        <item
            android:id="@+id/action_notification"
            android:icon="@drawable/ic_notifications_black_24dp"
            android:orderInCategory="100"
            android:title="@string/action_theme_default"
            app:showAsAction="ifRoom" />

        <item
            android:id="@+id/action_settheme_default"
            android:orderInCategory="100"
            android:title="@string/action_theme_default"
            app:showAsAction="never" />

        <item
            android:id="@+id/action_settheme_red"
            android:orderInCategory="100"
            android:title="@string/action_theme_red"
            app:showAsAction="never" />

    </group>

    <group android:id="@+id/grp2">
        <item
            android:id="@+id/action_settings"
            android:orderInCategory="100"
            android:title="@string/action_settings"
            app:showAsAction="never" />
    </group>
</menu>

Y luego cuando se carga la instancia del menú, para activar que se visualice la linea divisora de los grupos del menú, se hace con la función MenuCompat.setGroupDividerEnable valor true para activar la separación de menús y false para que no se visualice la separación entre los grupos

override fun onCreateOptionsMenu(menu: Menu): Boolean {
    menuInflater.inflate(R.menu.menu_main, menu)
    MenuCompat.setGroupDividerEnabled(menu, true)

    return true
}
Anuncio publicitario

Publicado por Codelaby

Mobile DevDesigner

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: