Personalizar la alineación de las pestañas usando la nueva propiedad TabBar.tabAlignment
Presentando la propiedad TabBar.tabAlignment.
Resumen
#Uso de TabBar.tabAlignment para personalizar la alineación de las pestañas en un TabBar.
Contexto
#La propiedad TabBar.tabAlignment establece dónde coloca las pestañas un TabBar de Material 3.
El enum TabAlignment tiene los siguientes valores:
TabAlignment.start: Alinea las pestañas al inicio delTabBarcon scroll (desplazable).TabAlignment.startOffset: Alinea las pestañas al inicio delTabBarcon scroll con un desplazamiento (offset) de52.0píxeles.TabAlignment.center: Alinea las pestañas al centro delTabBar.TabAlignment.fill: Alinea las pestañas al inicio y las estira para llenar elTabBarfijo.
El TabBar con scroll admite las siguientes alineaciones:
TabAlignment.startTabAlignment.startOffsetTabAlignment.center
El TabBar fijo admite las siguientes alineaciones:
TabAlignment.fillTabAlignment.center
Cuando estableces ThemeData.useMaterial3 en true,
un TabBar con scroll alinea las pestañas como TabAlignment.startOffset
de forma predeterminada.
Para cambiar esta alineación, establece la propiedad
TabBar.tabAlignment para la personalización a nivel de widget.
O establece la propiedad TabBarThemeData.tabAlignment para la personalización a nivel de aplicación.
Descripción del cambio
#Cuando estableces TabBar.isScrollable y ThemeData.useMaterial3 en true,
las pestañas en un TabBar con scroll tienen como valor predeterminado TabAlignment.startOffset.
Esto alinea las pestañas al inicio del
TabBar con scroll con un desplazamiento de 52.0 píxeles.
Esto cambia el comportamiento anterior.
Las pestañas se alineaban al inicio del TabBar con scroll
cuando se necesitaban mostrar más pestañas de las que permitía el ancho.
Guía de migración
#Un TabBar con scroll de Material 3 usa TabAlignment.startOffset como
la alineación de pestañas predeterminada.
Esto alinea las pestañas al inicio del
TabBar con scroll con un desplazamiento de 52.0 píxeles.
Para alinear las pestañas al inicio del
TabBar con scroll, establece TabBar.tabAlignment en TabAlignment.start.
Este cambio también elimina el desplazamiento de 52.0 píxeles.
Los siguientes fragmentos de código muestran cómo usar TabBar.tabAlignment para
alinear las pestañas al inicio del TabBar con scroll:
Código antes de la migración:
TabBar(
isScrollable: true,
tabs: List<Tab>.generate(
count,
(int index) => Tab(text: 'Tab $index'),
).toList(),
);
Código después de la migración:
TabBar(
tabAlignment: TabAlignment.start,
isScrollable: true,
tabs: List<Tab>.generate(
count,
(int index) => Tab(text: 'Tab $index'),
).toList(),
);
Timeline
#Llegó en la versión: 3.13.0-17.0.pre
En la versión estable: 3.16
Referencias
#Documentación de la API:
PRs relevantes:
A menos que se indique lo contrario, la documentación de este sitio refleja Flutter 3.44.0. Página actualizada por última vez el 2026-05-05. Ver código fuente oreportar un problema.