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
}