Saltar al contenido principal

Desaprobar TextInputConnection.setStyle

El método `TextInputConnection.setStyle` ha sido depreciado en favor del método `TextInputConnection.updateStyle`.

Resumen

#

TextInputConnection.setStyle está depreciado en favor de TextInputConnection.updateStyle, el cual soporta la sincronización de letterSpacing, wordSpacing y lineHeight con el motor.

Contexto

#

El método setStyle anterior no soportaba letterSpacing, wordSpacing, ni lineHeight. Esto causaba un desalineamiento visual del resaltado de la selección y del cursor del IME cuando se utilizaban estas propiedades.

El método de reemplazo updateStyle utiliza TextInputStyle para soportar estas propiedades, asegurando que la entrada del sistema esté sincronizada con el texto renderizado.

Guía de migración

#

Si escribes un cliente de entrada de texto personalizado, reemplaza las llamadas a TextInputConnection.setStyle con TextInputConnection.updateStyle.

Código antes de la migración

#
dart
connection.setStyle(
  fontFamily: 'Roboto',
  fontSize: 14.0,
  fontWeight: FontWeight.normal,
  textDirection: TextDirection.ltr,
  textAlign: TextAlign.start,
);

Código después de la migración

#
dart
connection.updateStyle(
  TextInputStyle(
    fontFamily: 'Roboto',
    fontSize: 14.0,
    fontWeight: FontWeight.normal,
    textDirection: TextDirection.ltr,
    textAlign: TextAlign.start,
    letterSpacing: 1.2,
    wordSpacing: 1.0,
    lineHeight: 1.5,
  ),
);

Timeline

#

Introducido en la versión: 3.43.0-0.1.pre
En la versión estable: 3.44

Referencias

#

PR relevante:

Issues relevantes: