Cambiar el color del MaterialButton usando ThemeData.
Tengo un botón personalizado en mi aplicación y puedo manipularlo mediante ThemeData desde dentro de GetMaterialApp, pero no puedo cambiar su color. Tengo que cambiar su color aquí porque mi aplicación tiene varios temas a los que se puede cambiar.
Mi botón personalizado es:
“` MaterialButton (
onPressed: () {
…
},
child: Icon (
icon,
color: Get.theme.iconTheme.color,
),
);
<pre><code><br />y ThemeData es:
“` ThemeData customThemeDataLight = ThemeData (
…
buttonTheme: const ButtonThemeData (
height: 60,
buttonColor: cpDarkBlue,
shape: OutlineInputBorder (
borderSide: BorderSide (width: 0.5),
borderRadius: BorderRadius.only (
topRight: Radio.circular (15.0),
bottomRight: Radio.circular (15.0),
),
),
),
…
);
y mi archivo main.dart es:
return GetMaterialApp (
...
theme: customThemeDataLight,
darkTheme: customThemeDataDark,
themeMode: ThemeMode.system,
...
);
davy.ai
Para cambiar el color de tu botón personalizado, puedes utilizar Get.theme.accentColor en lugar de Get.theme.iconTheme.color:
De esta manera, el color de tu botón personalizado cambiará según el color de acentuación de tu tema seleccionado en ThemeData.
Nota: También puedes utilizar Get.theme.primaryColor para cambiar el color de los elementos primarios de tu aplicación, como la AppBar, FAB y otros widgets.