Cómo mostrar / ocultar submenús dentro de NavigationView android
Quiero crear una vista expandible como vista dentro del cajón de navegación donde inicialmente sólo se muestran títulos principales (submenús colapsados). Cuando se hace clic en el título, los submenús deben aparecer (si es posible animar)
Estoy usando android.support.design.widget.NavigationView. Puedo agregar submenus vía xml.
- Mostrar selección de la lista de sugerencias en la vista de búsqueda de Android
- Gestionar el enfoque en una vista personalizada
- Vista de búsqueda separada para fragmentos
- Menús dinámicos en NavigationView
- Android: View.setID (int id) de forma programática - ¿cómo evitar conflictos de ID?
<group android:checkableBehavior="all"> <item android:id="@+id/action_venues" android:title="TITLE 1"> <menu> <group android:id="@+id/group1" android:checkableBehavior="single" > <item android:title="SUBTITLE1.1" /> <item android:title="SUBTITLE1.2" /> <item android:title="SUBTITLE1.3" /> </group> </menu> </item> <item android:id="@+id/action_vendors" android:title="TITLE2"> <menu> <group android:id="@+id/group2" android:checkableBehavior="single" android:visible="false"> <item android:title="SUBTITLE2.1" /> <item android:title="SUBTITLE2.2" /> <item android:title="SUBTITLE2.3" /> </group> </menu> </item>
Pero si mantengo cualquier grupo en el xml android: visible = "false" no aparece en el cajón.
También intenté demostrar / ocultar el submenú con:
subMenu1.setGroupVisible(R.id.group1,false);
Pero también oculta el menú de títulos.
¿Es posible con android.support.design.widget.NavigationView o tengo que usar una vista personalizada?
- Iniciar nueva actividad desde SearchView
- Vista de superficie como un mapa de bits en android
- Tratamiento de mapas de bits grandes (mosaico de un pequeño mapa de bits para crear papel tapiz)
- Cambiar el color del cursor en SearchView sin ActionBarSherlock
- Cuál es la ventaja de usar el espacio sobre la vista
- Iniciar actividad con SearchView abierto
- NullPointerException que no apunta a ninguna línea en mi código
- Android - Obtener el widget del cronómetro
Menu menu = navigationView.getMenu(); for (int i = 0; i < menu.size(); i++) { if (menu.getItem(i).getItemId() != R.id.login){ menu.getItem(i).setVisible(false); } }
Para las etiquetas de grupo que usé
navigationView.getMenu().setGroupVisible(false)
Para las etiquetas de elemento que utilicé
navigationView.getMenu().findViewById(R.id.id_of_the_item).setVisibility(View.GONE)
Todo funcionando.
Me las arreglé para mostrar / ocultar los subtítulos convirtiendo los títulos en un grupo separado. No estoy seguro de si este es el camino correcto:
<group> <item android:id="@+id/action_venues" android:title="group1" /> </group> <group android:id="@+id/group2" android:checkableBehavior="single"> <item android:title="SUBTITLE1.1" /> <item android:title="SUBTITLE1.2" /> <item android:title="SUBTITLE1.3" /> </group> <group> <item android:id="@+id/action_vendors" android:title="group3" /> </group> <group android:id="@+id/group4" android:checkableBehavior="single" android:visible="false"> <item android:title="SUBTITLE2.1" /> <item android:title="SUBTITLE2.2" /> <item android:title="SUBTITLE2.3" /> </group>
Y luego en el código:
Menu drawerMenu = drawer.getMenu(); case R.id.action_venues: drawerMenu.setGroupVisible(R.id.group2,true); case R.id.action_vendors: drawerMenu.setGroupVisible(R.id.group4,true);
Pero todavía no puede animar.
- ¿Cómo configurar el icono de Font AWseome en el botón de acción flotante?
- Geofences de Actualización de Android