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 BottomNavigationItems. |
@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")} ) }}
