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.

<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?

  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.

  • Actualizar vista en tiempo de ejecución en Android
  • ¿Cómo utilizar mi SurfaceView con main.xml en Android?
  • Cómo manejar el botón de nuevo de la vista de búsqueda en android
  • Error al hacer referencia a una clase interna Ver en layout / main.xml
  • Cómo ver un Google Calendar público a través de una aplicación para Android
  • ¿Cómo ImageView acaba de redibujar parte de su contenido cuando se invoca invalidate (Rect)?
  • Vista de niño androide sin estado de prensa
  • Obtener las dimensiones después de setLayoutParams en Android
  • Android: Obtiene el elemento listview del botón que se hace clic en la vista de lista personalizada
  • ¿Es posible comprobar si una "TAB" específica en TabWidget está visible en la vista actual o no?
  • ¿Cómo puedo obtener OnBackPressed () mientras SearchView está activado?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.