Saltar al contenido principal

API desaprobada eliminada después de la v3.16

Después de llegar al final de su vida útil, las siguientes API desaprobadas fueron eliminadas de Flutter.

Resumen

#

De acuerdo con la política de deprecación de Flutter, se han eliminado las APIs deprecadas que llegaron al final de su vida útil después del lanzamiento estable 3.16.

Todas las APIs afectadas se han compilado en esta fuente principal para ayudar en la migración. Para ayudar aún más con tu migración, consulta esta hoja de referencia rápida.

Cambios

#

Esta sección enumera las deprecaciones por paquete y clase afectada.

Propiedades styleFrom de botones

#

Paquete: flutter Compatible con Flutter Fix: sí

Los widgets TextButton, ElevatedButton y OutlinedButton tienen un método estático styleFrom para generar el ButtonStyle. Las siguientes propiedades de color de este método para cada clase fueron deprecadas en v3.1:

  • TextButton.styleFrom
    • primary
    • onSurface
  • ElevatedButton.styleFrom
    • primary
    • onPrimary
    • onSurface
  • OutlinedButton.styleFrom
    • primary
    • onSurface

Estos cambios alinearon mejor la API con las especificaciones actualizadas de Material Design. Los cambios también proporcionaron más claridad sobre cómo se aplicarían los colores a los botones, al reemplazar estas propiedades con backgroundColor, foregroundColor y disabledForegroundColor.

Migration guide

Código antes de la migración:

dart
TextButton.styleFrom(
  primary: Colors.red,
  onSurface: Colors.black,
);
ElevatedButton.styleFrom(
  primary: Colors.red,
  onPrimary: Colors.blue,
  onSurface: Colors.black,
);
OutlinedButton.styleFrom(
  primary: Colors.red,
  onSurface: Colors.black,
);

Código después de la migración:

dart
TextButton.styleFrom(
  foregroundColor: Colors.red,
  disabledForegroundColor: Colors.black,
);
ElevatedButton.styleFrom(
  backgroundColor: Colors.red,
  foregroundColor: Colors.blue,
  disabledForegroundColor: Colors.black,
);
OutlinedButton.styleFrom(
  foregroundColor: Colors.red,
  disabledForegroundColor: Colors.black,
);

References

Documentación de la API:

PRs relevantes:


ThemeData.selectedRowColor

#

Paquete: flutter Compatible con Flutter Fix: sí

La propiedad selectedRowColor de ThemeData fue deprecada en v3.1.

La propiedad ya no era utilizada por el framework, ya que los widgets que la usaban migraron a otros temas de componentes o ya no la requerían en la especificación actualizada para Material Design.

Migration guide

Código antes de la migración:

dart
ThemeData(
  // ...
  selectedRowColor: Colors.pink, // Would have no effect.
);

Código después de la migración:

dart
ThemeData(
  // ...
  // Remove uses.
);

References

Documentación de la API:

PRs relevantes:


#

Paquete: flutter Compatible con Flutter Fix: sí

La propiedad focusScopeNode de NavigatorState fue deprecada en v3.1.

Este cambio se realizó para resolver varios problemas relacionados con el FocusScopeNode introducido por el Navigator. En su lugar, el FocusScope se movió para envolver al Navigator de nivel superior en un WidgetsApp. NavigatorState se modificó para contener su propio FocusNode, desde donde puede hacer referencia a su FocusNode.enclosingScope para acceder al FocusScopeNode correcto.

Migration guide

Código antes de la migración:

dart
Navigator.of(context).focusScopeNode;

Código después de la migración:

dart
Navigator.of(context).focusNode.enclosingScope!;

References

Documentación de la API:

PRs relevantes:


PlatformMenuBar.body

#

Paquete: flutter Compatible con Flutter Fix: sí

La propiedad body de PlatformMenuBar fue deprecada en v3.1.

Este cambio se realizó para alinear PlatformMenuBar con otros widgets en el framework, renombrándola a child.

Migration guide

Código antes de la migración:

dart
PlatformMenuBar(
  body: myWidget,
);

Código después de la migración:

dart
PlatformMenuBar(
  child: myWidget,
);

References

Documentación de la API:

PRs relevantes:


Las deprecaciones anunciadas anteriormente para TextTheme, WidgetInspectorService y WidgetInspectorServiceExtensions no se eliminaron durante este ciclo. La deprecación de WidgetInspectorService y WidgetInspectorServiceExtensions en setPubRootDirectories se ha extendido otro año para permitir que los IDEs y otros clientes migren. Se espera que las deprecaciones de TextTheme se eliminen en el próximo ciclo, el cual se anunciará nuevamente cuando llegue.


Timeline

#

En versión estable: 3.19.0