TopAppBar
| Material | Material 3 |
|---|---|
![]() | ![]() |
La TopAppBar muestra información y acciones relacionadas con la pantalla actual.
Tiene ranuras para un título, un icono de navegación y acciones. La ranura del título esta insertada desde el principio por defecto.
Implementación
Definición del componente
@Composablefun TopAppBar( title: @Composable () -> Unit, modifier: Modifier = Modifier, navigationIcon: @Composable (() -> Unit)? = null, actions: @Composable RowScope.() -> Unit = {}, backgroundColor: Color = MaterialTheme.colors.primarySurface, contentColor: Color = contentColorFor(backgroundColor), elevation: Dp = AppBarDefaults.TopAppBarElevation)| Atributo | Descripción |
|---|---|
| title | El título que se mostrará en la TopAppBar. |
| modifier | El modificador permite personalizar el composable. |
| navigationIcon | El icono que se muestra al principio, normalmente debería ser un IconButton o un IconToggleButton. |
| actions | Las acciones mostradas al final, suelen ser IconButton. Por defecto es un RowScope, por lo que los iconos dentro se colocarán horizontalmente. |
| backgroundColor | El color de fondo. |
| contentColor | El color del contenido. |
| elevation | Elevación del componente. |
@Composablefun TopAppBar( title: @Composable () -> Unit, modifier: Modifier = Modifier, navigationIcon: @Composable () -> Unit = {}, actions: @Composable RowScope.() -> Unit = {}, windowInsets: WindowInsets = TopAppBarDefaults.windowInsets, colors: TopAppBarColors = TopAppBarDefaults.topAppBarColors(), scrollBehavior: TopAppBarScrollBehavior? = null)| Atributo | Descripción |
|---|---|
| title | El título que se mostrará en el composable. |
| modifier | El modificador permite personalizar el composable. |
| navigationIconss | El icono de navegación que se muestra al principio. usualmente debería ser un IconButton o un IconToggleButton. |
| actions | Las acciones mostradas al final del composable, El diseño por defecto es un RowScope, por lo que los iconos dentro se colocarán horizontalmente. |
| windowInsets | Espacios reservados para la interfaz que la TopAppBar respetará. |
| colors | Se utiliza para resolver los colores utilizados para este composable en diferentes estados. Ver TopAppBarDefaults.topAppBarColors. |
| scrollBehavior | Estados de desplazamiento que serán aplicados por la TopAppBar. Está diseñado para funcionar junto con un contenido desplazado para cambiar el aspecto de la TopAppBar a medida que se desplaza el contenido. Véase TopAppBarScrollBehavior.nestedScrollConnection. |
Ejemplos

import androidx.compose.material.ContentAlphaimport androidx.compose.material.Iconimport androidx.compose.material.IconButtonimport androidx.compose.material.LocalContentAlphaimport androidx.compose.material.Textimport androidx.compose.material.TopAppBarimport androidx.compose.material.icons.Iconsimport androidx.compose.material.icons.outlined.AccountCircleimport androidx.compose.material.icons.rounded.Menuimport androidx.compose.material.icons.rounded.Searchimport androidx.compose.runtime.Composableimport androidx.compose.runtime.CompositionLocalProvider
@Composablefun TopAppBarSample() { TopAppBar( navigationIcon = { IconButton(onClick = { /*TODO*/ }) { Icon(imageVector = Icons.Rounded.Menu, contentDescription = null) } }, title = { Text(text = "Sample Title") }, actions = { CompositionLocalProvider(LocalContentAlpha provides ContentAlpha.high) { IconButton(onClick = { /*TODO*/ }) { Icon( imageVector = Icons.Rounded.Search, contentDescription = null ) } IconButton(onClick = { /*TODO*/ }) { Icon( imageVector = Icons.Outlined.AccountCircle, contentDescription = null ) } } })}
import androidx.compose.material.icons.Iconsimport androidx.compose.material.icons.outlined.AccountCircleimport androidx.compose.material.icons.rounded.Menuimport androidx.compose.material.icons.rounded.Searchimport androidx.compose.material3.ExperimentalMaterial3Apiimport androidx.compose.material3.Iconimport androidx.compose.material3.IconButtonimport androidx.compose.material3.Textimport androidx.compose.material3.TopAppBarimport androidx.compose.runtime.Composable
@OptIn(ExperimentalMaterial3Api::class)@Composablefun TopAppBarSample() { TopAppBar( navigationIcon = { IconButton(onClick = { /*TODO*/ }) { Icon(imageVector = Icons.Rounded.Menu, contentDescription = null) } }, title = { Text(text = "Sample Title") }, actions = { IconButton(onClick = { /*TODO*/ }) { Icon( imageVector = Icons.Rounded.Search, contentDescription = null ) } IconButton(onClick = { /*TODO*/ }) { Icon( imageVector = Icons.Outlined.AccountCircle, contentDescription = null ) } } )}
