Componente AppBar
¿Qué es el componente AppBar?
El componente AppBar es una barra de aplicación superior que contiene tres áreas de contenido: leading (inicio), main (central) y trailing (final).
¿Cómo se utiliza el componente AppBar?
Para usar el componente AppBar, importa la clase y configura sus propiedades:
import AppBarWidget, { AppBarWidgetStyle, PositionMainWidget } from "@seigenta/TypesCraft/widgets/appBar";
import { Icon, Text } from "@seigenta/TypesCraft/widgets";
import { Color, Size } from "@seigenta/TypesCraft/widgets/utils";
// Uso básico
new AppBarWidget({
leadingContent: new Icon({ icon: 'menu' }),
mainWidget: new Text({ text: 'Mi Aplicación' }),
trailingWidget: new Icon({ icon: 'search' }),
style: new AppBarWidgetStyle({
backgroundColor: Color.hex("#6200ee"),
height: Size.px(56)
})
})
Propiedades del componente
El componente AppBar acepta las siguientes propiedades:
- leadingContent?: (Widget) - Widget para el área inicial (ej: icono de menú)
- mainWidget?: (Widget) - Widget principal (ej: título de la app)
- trailingWidget?: (Widget) - Widget para el área final (ej: iconos de acción)
- style?: (AppBarWidgetStyle) - Estilo del AppBar
AppBarWidgetStyle - Propiedades de estilo
El objeto AppBarWidgetStyle permite configurar:
- backgroundColor?: (Color) - Color de fondo del AppBar
- height?: (Size) - Altura del AppBar (default: 56px)
- elevate?: (Size) - Elevación (sombra) del AppBar
- PositionMainWidget?: (PositionMainWidget) - Posición del contenido principal (LEFT, CENTER, RIGHT)
- padding?: (EdgeSize) - Relleno interno
- css?: (Css) - Estilos CSS personalizados
Ejemplos de uso
Ejemplo básico con iconos y título centrado:
new AppBarWidget({
leadingContent: new Icon({ icon: 'menu' }),
mainWidget: new Text({ text: 'Mi App' }),
trailingWidget: new Icon({ icon: 'settings' }),
style: new AppBarWidgetStyle({
backgroundColor: Color.hex("#6200ee"),
height: Size.px(56),
elevate: Size.px(4),
PositionMainWidget: PositionMainWidget.CENTER
})
})
Ejemplo avanzado con múltiples acciones:
new AppBarWidget({
leadingContent: new Icon({ icon: 'arrow_back' }),
mainWidget: new Text({ text: 'Detalles del Producto' }),
trailingWidget: new Row({
children: [
new Icon({ icon: 'favorite' }),
new Icon({ icon: 'share' }),
new Icon({ icon: 'more_vert' })
],
style: new RowStyle({
spacing: Size.px(16)
})
}),
style: new AppBarWidgetStyle({
backgroundColor: Color.hex("#ffffff"),
height: Size.px(64),
elevate: Size.px(2),
padding: EdgeSize.symmetric({
horizontal: Size.px(16)
})
})
})
Comportamiento
El componente AppBar:
- Organiza el contenido en 3 áreas claramente definidas (leading, main, trailing)
- Soporta sombra/elevación configurable
- Permite posicionar el contenido principal a izquierda, centro o derecha
- Genera estilos CSS eficientes reutilizables
- Es altamente personalizable mediante widgets en cada área