NavigationView y BottomNavigationView

DEFINICIÓN

Fuente: developer.android
Fuente: developer.android
Fuente: material design
Fuente: material design

Hereda de FrameLayout.

Representa un menú de navegación estandar para aplicaciones.

El contenido del menú puede ser incluido en un archivo de resource de menú.

Debe estar contenido en un DrawerLayout.

DRAWER LAYOUT

DrawerLayout actúa como un contenedor de nivel superior para el contenido de las ventanas que tienen drawers interactivos que pueden ser extraidos de cualquiera de los dos límites verticales de la pantalla.

Si existe un Drawer, todo el contenido de la pantalla debe estar contenido en un DrawerLayout como veremos a continuación.

BottomNavigationView

Fuente: developer.android
Fuente: material design
Fuente: material design

Hereda de FrameLayout.NavigationBarView.

Representa una barra de navegación estandar para las aplicaciones. Es una implementación de bottom navigation de Material Design.

Hace sencillo para los usuaros poder explorar y moverse entre las diferentes Views de nivel superior con un solo toque. Deben usarse solo sí la App tiene de 3 a 5 destinos de nivel superior.

El contenido de la barra se puede añadir con un archivo de resource de menú. Cada una de las entradas del menú será utilizada para pintar un item en la barra.

EJEMPLO

Empezamos con lo que habíamos acabado en el ejemplo anterior. Ahora vamos a implementar los nuevos conceptos para ir dando embergadura a nuestra APP.

Como ya hemos dicho, para implementar un NavigationView, que es básicamente un Navigation Drawer, debemos seguir los siguientes pasos:

  • Meter todo el Layout en un DrawerLayout.

  • Añadir un NavigationView al final de nuestro DraweLayout.

  • Crear nuestro archivo nav_header.xml que es de donde sacaremos el título de nuestro Drawer:

  • Crear nuestro archivo navigation_drawer.xml que es el menú que se mostrará bajo el encabezado del Drawer:

  • Por último configuramos el listener del botón de Navegación de la TopAppBar:

Y con todo eso echo nos queda el siguiente resultado:

Navigation Drawer implementado

BottomNavigationView

Lo más importante que debemos tener en cuenta es que la BottomNavigationView no se coloca al pie de la pantalla por defecto sino que la debemos colocar ahí nosotros.

Esto puede suponer un quebradero de cabeza para Activities con un Layout muy complejo.

Además, para que funcionen las animaciones de desaparición con Scroll debe ser descendiente directo de un CoordinatorLayout.

En el caso del BottomNavigationView solo necesitamos dos archivos:

  • Añadir a nuestro activity_main.xml una View del tipo BottomNavigationView:

  • Crear un archivo de Menú en el cual cada uno de los items representa una entrada en el menú de navegación. En este caso vamos a utilizar un archivo ya conocido:

Vamos a ver como queda el archivo de Layout completo y de ahí directamente veremos el resultado:

Resultado final con BottomNavigationView

Last updated