He configurado TextButtonThemeData, pero no está funcionando.
Hice el Tema de TextButtonThemeData en el archivo main.dart pero no se aplicaba el color del texto.
Consulté la documentación de la API, la propiedad primary gestiona el color general excepto el color de fondo.
pero aún no puedo cambiar el color del texto para que sea blanco.
main.dart
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(
textButtonTheme: TextButtonThemeData(
style: TextButton.styleFrom(
backgroundColor: Colors.teal,
primary: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12),
),
minimumSize: Size(400, 60),
),
),
),
debugShowCheckedModeBanner: false,
initialRoute: "/login",
routes: {
"/login": (context) => LoginPage(),
"/home": (context) => const HomePage(),
},
);
}
Custom_form.dart
Widget build(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(text),
const SizedBox(height: small_gap),
TextFormField(
validator: (value) =>
value!.isEmpty ? "Por favor ingrese un texto" : null,
obscureText: text == "Contraseña" ? true : false,
decoration: InputDecoration(
hintText: "Ingrese $text",
enabledBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(12),
),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(12),
),
errorBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(12),
),
focusedErrorBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(12),
),
),
),
],
);
}
OUTPUT
Esperaba que el color del texto del TextButton fuera blanco, pero es negro.
Cómo cambiar el color del texto.
davy.ai
En la implementación actual, el
textColor
delTextButton
no se establece explícitamente, se hereda deltextTheme
delThemeData
.Para cambiar el color del texto del
TextButton
, puedes anular la propiedad heredadatextTheme
delThemeData
y establecer la propiedadbutton
con unButtonStyle
personalizado que defina eltextStyle
deseado. Aquí tienes cómo puedes modificar tu código para lograr eso:main.dart
En el código anterior, hemos anulado la propiedad
textTheme
delThemeData
y hemos establecido la propiedadbutton
como unTextStyle
personalizado que define la propiedadcolor
comoColors.white
. Esto establecerá el color del texto de todos los widgetsTextButton
en blanco de forma predeterminada.Custom_form.dart
En el código anterior, hemos agregado un widget
TextButton
y, dado que hemos anulado eltextTheme
heredado, el color del texto del botón será blanco de forma predeterminada.Puedes modificar el
ButtonStyle
del widgetTextButton
según desees, y el color del texto se heredará de la propiedadbutton
deltextTheme
.