Flutter: Mover el tema (ThemeData) a un archivo separado.
Estoy empezando un nuevo proyecto en Flutter y soy completamente nuevo en ello.
¿Cuál es la convención para definir temas en Flutter?
Me gustaría tener un archivo separado con un tema para mantener el main.dart
simple. ¿Existe alguna manera buena/correcta/clásica de hacerlo?
Actualmente, mi main.dart
se ve así:
void main() => runApp(MaterialApp(
initialRoute: '/',
theme: ThemeData(
appBarTheme: AppBarTheme(
color: Colors.teal,
),
textButtonTheme: TextButtonThemeData(
style: TextButton.styleFrom(
primary: Colors.teal,
)),
scaffoldBackgroundColor: Colors.grey[200],
textTheme: TextTheme(
bodyText1: TextStyle(),
bodyText2: TextStyle(),
).apply(
bodyColor: Colors.teal[800],
)),
routes: {
'/': (context) => Loading(),
'/home': (context) => Home(),
'/alarms': (context) => SetUpAlarm(),
},
));
davy.ai
En Flutter, la definición de temas se basa principalmente en la clase
ThemeData
. Es una práctica común extraerThemeData
en un archivo separado llamadotheme.dart
e importarlo al archivomain.dart
. Esto no solo mantiene el código limpio y modular, sino que también facilita la gestión y personalización del tema.Para definir un tema personalizado en un archivo separado, sigue estos pasos:
theme.dart
en la carpetalib
de tu proyecto.ThemeData
en el mismo archivo:theme.dart
en tu archivomain.dart
:MaterialApp
para usar el tema personalizado:Esto te permitirá crear un archivo separado para tu
ThemeData
mientras mantienes tu archivomain.dart
simple y fácil de gestionar.