Saltar al contenido principal

La bandera ThemeData.useMaterial3 es true por defecto

La bandera ThemeData.useMaterial3 ahora está configurada como true por defecto.

Resumen

#

La biblioteca Material se ha actualizado para coincidir con la última especificación de Material Design. Los cambios incluyen nuevos componentes, nuevos temas de componentes y visuales de componentes actualizados. A partir de este lanzamiento, ThemeData.useMaterial3 está establecido como true por defecto.

Contexto

#

Los widgets de Material de Flutter ahora soportan completamente Material 3 y, a partir de Flutter 3.16, Material 3 es el estilo por defecto.

La apariencia de los componentes de Material 3 está determinada principalmente por los valores de ThemeData.colorScheme y ThemeData.textTheme. ColorScheme facilita la creación de esquemas claros y oscuros para que tu aplicación sea estéticamente agradable y cumpla con los requisitos de accesibilidad. Para personalizar aún más la apariencia de los componentes de Material 3, añade temas de componentes a tu ThemeData, como ThemeData.segmentedButtonTheme o ThemeData.snackBarTheme.

Además, Material 3 mejora el movimiento utilizando tokens de atenuación (easing) y duración. Esto significa que las curvas de Material 2 han sido renombradas para incluir la palabra "legacy" y eventualmente serán obsoletas y eliminadas.

Echa un vistazo a la galería de Material 3 para probar todos los nuevos componentes y compararlos con Material 2.

Guía de migración

#

Antes del lanzamiento de la versión 3.16, los cambios eran de inclusión voluntaria ("opt-in") usando la propiedad de tema useMaterial3 en ThemeData. A partir de este lanzamiento, useMaterial3 es true por defecto. Aún puedes optar por no usar la versión de Material 3 de la biblioteca de Material especificando useMaterial3: false en el tema de tu MaterialApp.

Además, algunos widgets no pudieron simplemente actualizarse, sino que necesitaron una implementación completamente nueva. Por esta razón, tu interfaz de usuario podría verse un poco extraña cuando la veas ejecutándose con Material 3. Para solucionar esto, migra manualmente a los nuevos widgets, como NavigationBar.

Para más detalles, consulta el issue principal de Material 3 en GitHub.

Timeline

#

Llegó en la versión: 3.13.0-4.0.pre
En la versión estable: 3.16

Referencias

#

Documentación:

Documentación de la API:

Issues relevantes:

PRs relevantes: