es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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,
...
);

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para cambiar el color de tu botón personalizado, puedes utilizar Get.theme.accentColor en lugar de Get.theme.iconTheme.color:

    MaterialButton(
      onPressed: () {
        ...
      },
      child: Icon(
        icon,
        color: Get.theme.accentColor,
      ),
    );
    

    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.

Comments are closed.