Bottom Navigation
Material | Material 3 |
---|---|
![]() | ![]() |
BottomNavigation permite la navegación entre pantallas principales en una aplicación.
BottomNavigation debería contener varios BottomNavigationItem
que reprensentarían cada una de las pantallas principales.
Implementación
Definición del componente
@Composablefun BottomNavigation( modifier: Modifier = Modifier, backgroundColor: Color = MaterialTheme.colors.primarySurface, contentColor: Color = contentColorFor(backgroundColor), elevation: Dp = BottomNavigationDefaults.Elevation, content: @Composable RowScope.() -> Unit)
Atributo | Descripción |
---|---|
modifier | Modificador que implementará el composable (Opcional). |
backgroundColor | El color del fondo del componente. |
contentColor | Color del contenido. |
elevation | Permite modificar la elevación del componente. |
content | Destinos dentro de este BottomNavigation, esto debe contener múltiples BottomNavigationItem s. |
@Composablefun BottomNavigation( windowInsets: WindowInsets, modifier: Modifier = Modifier, backgroundColor: Color = MaterialTheme.colors.primarySurface, contentColor: Color = contentColorFor(backgroundColor), elevation: Dp = BottomNavigationDefaults.Elevation, content: @Composable RowScope.() -> Unit)
Esta segunda opción proporciona la capacidad de especificar WindowInsets
. Valores recomendados se pueden encontrar en BottomNavigationDefaults.windowInsets
Atributo | Descripción |
---|---|
windowInsets | Proporciona información sobre la IU del sistema para garantizar que tu app se dibuje en el área correcta. Mas información en la documentación oficial. |
modifier | Modificador que implementará el composable (Opcional). |
backgroundColor | El color del fondo del componente. |
contentColor | Color del contenido. |
elevation | Permite modificar la elevación del componente. |
content | Destinos dentro de este BottomNavigation, esto debe contener múltiples BottomNavigationItem . |
@Composablefun NavigationBar( modifier: Modifier = Modifier, containerColor: Color = NavigationBarDefaults.containerColor, contentColor: Color = MaterialTheme.colorScheme.contentColorFor(containerColor), tonalElevation: Dp = NavigationBarDefaults.Elevation, windowInsets: WindowInsets = NavigationBarDefaults.windowInsets, content: @Composable RowScope.() -> Unit): Unit
Atributo | Descripción |
---|---|
modifier | Modificador que implementará el composable (Opcional). |
containerColor | El color del fondo del componente. Usar Color.Transparent para quitar el color. |
contentColor | Color del contenido. |
tonalElevation | Añade un color de elevacíon en relación al color del containerColor . |
windowInsets | El espacio que respetará de bordes sobre la pantalla del móvil. Más información en la documentación oficial. |
content | Contenido que almacenará la NavigationBar , nomrmalmente 3-5 NavigationBarItem . |
Ejemplos

@Composablefun BottomNavigationExample() { BottomNavigation(){ BottomNavigationItem( selected = true, onClick = { /*TODO*/ }, icon = { Icon( Icons.Filled.Favorite, null) }, label = { Text(text = "Aris")} ) BottomNavigationItem( selected = false, onClick = { /*TODO*/ }, icon = { Icon( Icons.Filled.Favorite, null) }, label = { Text(text = "Aris")} ) BottomNavigationItem( selected = false, onClick = { /*TODO*/ }, icon = { Icon( Icons.Filled.Favorite, null) }, label = { Text(text = "Aris")} ) BottomNavigationItem( selected = true, onClick = { /*TODO*/ }, icon = { Icon( Icons.Filled.Favorite, null) }, label = { Text(text = "Aris")} ) }}

@Composablefun NavigationBarExample() { NavigationBar( windowInsets = NavigationBarDefaults.windowInsets ){ BottomNavigationItem( selected = true, onClick = { /*TODO*/ }, icon = { Icon( Icons.Filled.Favorite, null) }, label = { Text(text = "Aris")} ) BottomNavigationItem( selected = false, onClick = { /*TODO*/ }, icon = { Icon( Icons.Filled.Favorite, null) }, label = { Text(text = "Aris")} ) BottomNavigationItem( selected = false, onClick = { /*TODO*/ }, icon = { Icon( Icons.Filled.Favorite, null) }, label = { Text(text = "Aris")} ) BottomNavigationItem( selected = true, onClick = { /*TODO*/ }, icon = { Icon( Icons.Filled.Favorite, null) }, label = { Text(text = "Aris")} ) }}