BadgedBox
| Material | Material 3 |
|---|---|
![]() | ![]() |
BadgedBox es el componente que nos permitirá gestionar de una forma sencilla la clásica vista de notificaciones. Su implementación es muy fácil y personalizable por lo que podemos usarlo tanto para avisar al usuario de alguna novedad o como por ejemplo para mostrar el clásico carrito de compra con el número de productos.
Implementación
Definición del componente
@Composablefun BadgeBox( modifier: Modifier = Modifier, backgroundColor: Color = MaterialTheme.colors.error, contentColor: Color = contentColorFor(backgroundColor), badgeContent: @Composable (RowScope.() -> Unit)? = null, content: @Composable BoxScope.() -> Unit,)| Atributo | Descripción |
|---|---|
| modifier | Modificador que implementará el composable (Opcional). |
| backgroundColor | El color del fondo del componente. |
| contentColor | Color del contenido. |
| badgeContent | El contenido a mostrar en el badge. |
| content | Contenido que tendrá el badge en la parte superior. |
@ExperimentalMaterial3Api@Composablefun BadgedBox( badge: @Composable BoxScope.() -> Unit, modifier: Modifier = Modifier, content: @Composable BoxScope.() -> Unit,)- badge: El badged a mostrar - normalmente se usa un componente Badge.
- modifier: Modificador que implementará el composable (Opcional).
- content: Contenido que tendrá el badge en la parte superior.
Ejemplos

@OptIn(ExperimentalMaterialApi::class)@Composablefun BadgedBoxExample() { Box(Modifier.size(100.dp), contentAlignment = Alignment.Center) { BadgeBox(content = { Icon( Icons.Filled.Favorite, contentDescription = "Favorite" ) }, badgeContent = { Text("8") }) }}
@OptIn(ExperimentalMaterial3Api::class)@Composablefun BadgedBoxExample() { Box(Modifier.size(100.dp), contentAlignment = Alignment.Center) { BadgedBox(badge = { Badge { Text("8") } }) { Icon( Icons.Filled.Favorite, contentDescription = "Favorite" ) } }}