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.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para cambiar el color de la etiqueta de un TextFormField cuando el foco está activo y el comportamiento de la etiqueta flotante es automático en Flutter, puedes usar la propiedad textTheme del widget Theme.

    Primero, define un objeto ThemeData con el color deseado para la etiqueta enfocada. Por ejemplo:

    final ThemeData theme = ThemeData(
      textTheme: TextTheme(
        headline6: TextStyle(color: Colors.blue),
      ),
    );
    

    Luego, envuelve tu widget MaterialApp con el widget Theme y pasa el tema definido:

    Theme(
      data: theme,
      child: MaterialApp(
        title: 'Flutter Demo',
        home: MyHomePage(),
      ),
    ),
    

    Finalmente, configura las propiedades focusNode y autofocus de tu widget TextFormField y pasa el focusNode a la función de retroalimentación onTap de cualquier otro widget que pueda recibir el foco, como un GestureDetector:

    FocusNode _focusNode = FocusNode();
    
    TextFormField(
      autofocus: false,
      focusNode: _focusNode,
      decoration: InputDecoration(
        labelText: 'Contraseña',
      ),
    ),
    
    GestureDetector(
      onTap: () {
        _focusNode.requestFocus();
      },
      child: Container(
        // ...
      ),
    ),
    

    Con esta configuración, el color del texto de la etiqueta del TextFormField cambiará al color especificado cuando esté enfocado.

Comments are closed.