Cambiar el teclado de tu TextField en Flutter


Avatar de Pedro Cortez

Cambiar el teclado de un TextField mejora la experiencia del usuario al simplificarle el acceso a los caracteres que necesita y evitar entradas incorrectas. En esta guía, te explico cómo utilizar la propiedad keyboardType del widget TextField.


Cambiar el teclado de tu TextField en Flutter

Cambiar el teclado de tu TextField en Flutter

Flutter permite personalizar el tipo de teclado mostrado para un TextField mediante la propiedad keyboardType. Esta propiedad ajusta el teclado según el contenido esperado, mejorando la experiencia del usuario y evitando entradas incorrectas.

Para especificar un tipo de teclado en un TextField, debes usar la propiedad keyboardType, que acepta un valor del tipo TextInputType. Así es como funciona:

TextField(
  keyboardType: TextInputType.text, // Ejemplo de tipo de teclado
  decoration: InputDecoration(
    labelText: 'Ingrese texto',
  ),
)

Tipos de teclados disponibles

A continuación, los tipos de teclados soportados por Flutter.

Teclado estándar de texto

Este teclado es adecuado para la entrada de texto genérico.

TextField(
  keyboardType: TextInputType.text,
  decoration: InputDecoration(
    labelText: 'Nombre',
  ),
)

Teclado para números

Utiliza TextInputType.number para mostrar un teclado numérico. Es útil para campos como precios o cantidades.

TextField(
  keyboardType: TextInputType.number,
  decoration: InputDecoration(
    labelText: 'Ingrese un número',
  ),
)

Teclado para números de teléfono

Para los campos de números de teléfono, utiliza TextInputType.phone.

TextField(
  keyboardType: TextInputType.phone,
  decoration: InputDecoration(
    labelText: 'Número de teléfono',
  ),
)

Teclado para direcciones de correo electrónico

El teclado para direcciones de correo electrónico incluye el símbolo @ para facilitar la escritura.

TextField(
  keyboardType: TextInputType.emailAddress,
  decoration: InputDecoration(
    labelText: 'Dirección de correo',
  ),
)

Teclado para URLs

Para los campos URL, este tipo de teclado ofrece caracteres como / y ..

TextField(
  keyboardType: TextInputType.url,
  decoration: InputDecoration(
    labelText: 'Sitio web',
  ),
)

Teclado multilínea

Este tipo de teclado permite a los usuarios ingresar texto en varias líneas.

TextField(
  keyboardType: TextInputType.multiline,
  maxLines: null, // Permite múltiples líneas
  decoration: InputDecoration(
    labelText: 'Descripción',
  ),
)
Avatar de Pedro Cortez