Saltar al contenido principal

API desaprobada eliminada después de la v3.13

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.13.

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.

useDeleteButtonTooltip de las clases Chip

#

Paquete: flutter Compatible con Flutter Fix: sí

La propiedad useDeleteButtonTooltip de las siguientes clases fue deprecada en v2.10:

  • DeletableChipAttributes
  • Chip
  • RawChip
  • InputChip

deleteButtonTooltipMessage reemplaza a useDeleteButtonTooltip. Este cambio simplificó la API, ya que proporcionar un String vacío a deleteButtonTooltipMessage logra el mismo resultado que establecer la propiedad original useDeleteButtonTooltip en false. Cuando deleteButtonTooltipMessage no está establecido, se utiliza MaterialLocalizations.deleteButtonTooltip por defecto.

El documento de diseño Deprecate useDeleteButtonTooltip for Chips cubre esta actualización de chips y tooltips con mayor detalle. Para obtener más información, consulta la guía de migración de chips y tooltips.

Migration guide

Código antes de la migración:

dart
Chip(useDeleteButtonTooltip: false);
InputChip(useDeleteButtonTooltip: true);
RawChip rawChip = RawChip();
rawChip.useDeleteButtonTooltip;

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

dart
Chip(deleteButtonTooltipMessage: '');
InputChip();
RawChip rawChip = RawChip();
rawChip.deleteButtonTooltipMessage;

References

Documentación de la API:

PRs relevantes:


MaterialButtonWithIconMixin

#

Paquete: flutter Soportado por Flutter Fix: no

La propiedad MaterialButtonWithIconMixin fue deprecada en v2.11.

Con la introducción de las nuevas clases de botones TextButton, OutlinedButton y ElevatedButton, este mixin ya no se utiliza. Una versión anterior eliminó las clases de botones antiguas que usaban este mixin. Como resultado, este mixin ya no afecta a ninguna clase que pueda mezclarlo.

Migration guide

Código antes de la migración:

dart
class MyButtonClass extends StatelessWidget with MaterialButtonWithIconMixin {
  // ...
}

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

dart
class MyButtonClass extends StatelessWidget {
  // ...
}

References

PRs relevantes:


PlatformsViewsService.synchronizeToNativeViewHierarchy

#

Paquete: flutter Soportado por Flutter Fix: no

El método estático synchronizeToNativeViewHierarchy de PlatformsViewsService fue deprecada en v2.11.

Durante el período de deprecación, el método era una función sin efecto (no-op), ya que ya no era necesario llamarlo para obtener mejoras de rendimiento. Las referencias al método deben eliminarse y no afectarán a la aplicación.

Migration guide

Código antes de la migración:

dart
await PlatformsViewsService.synchronizeToNativeViewHierarchy(false);

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

dart

References

Documentación de la API:

PRs relevantes:


TextSelectionOverlay.fadeDuration

#

Paquete: flutter Compatible con Flutter Fix: sí

La propiedad estática fadeDuration de TextSelectionOverlay fue deprecada en v2.12.

La propiedad SelectionOverlay.fadeDuration reemplaza a TextSelectionOverlay.fadeDuration. Con la refactorización de TextSelectionOverlay, se agregó SelectionOverlay como un Widget más genérico sin la dependencia específica de RenderEditable.

Migration guide

Código antes de la migración:

dart
TextSelectionOverlay.fadeDuration;

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

dart
SelectionOverlay.fadeDuration;

References

Documentación de la API:

PRs relevantes:


androidOverscrollIndicator

#

Paquete: flutter Soportado por Flutter Fix: no

La propiedad androidOverscrollIndicator de las siguientes clases fue deprecada en v2.13:

  • ScrollBehavior
  • MaterialScrollBehavior
  • ThemeData

Esta bandera fue introducida para permitir a los usuarios configurar widgets de desplazamiento para usar GlowingOverscrollIndicator o StretchingOvercrollIndicator. Fue deprecada en favor de la bandera ThemeData.useMaterial3 a medida que el framework introdujo más soporte para widgets con estilo Material 3.

Dado que ThemeData.useMaterial3 es true por defecto, StretchingOverscrollIndicator se aplica de forma predeterminada. Establecer este valor en false aplicará un GlowingOverscrollIndicator en su lugar.

Alternativamente, el método buildOverscrollIndicator de ScrollBehavior o MaterialScrollBehavior se puede sobrescribir para alterar aún más la apariencia de los indicadores de sobre-desplazamiento.

Migration guide

Código antes de la migración:

dart
MaterialApp(
  scrollBehavior: MaterialScrollBehavior(
    androidOverscrollIndicator: AndroidOverscrollIndicator.glow,
  ),
  //...
);

MaterialApp(
  scrollBehavior: ScrollBehavior(
    androidOverscrollIndicator: AndroidOverscrollIndicator.glow,
  ),
  //...
);

MaterialApp(
  theme: Theme.light().copyWith(
    androidOverscrollIndicator: AndroidOverscrollIndicator.glow,
  ),
  //...
);

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

dart
MaterialApp(
  theme: Theme.light().copyWith(
    // defaults to true and stretching indicator,
    // false results in glowing indicator
    useMaterial3: false,
  ),
  //...
);

References

Documentación de la API:

PRs relevantes:


Actualizaciones de ImageProvider y PaintingBinding

#

Paquete: flutter Soportado por Flutter Fix: no

El método instantiateImageCodec de PaintingBinding, así como el método load de ImageProvider y el DecoderCallback asociado fueron todos deprecados en v2.13.

Los respectivos reemplazos son:

Método deprecadoMétodo actual
PaintingBinding.instantiateImageCodec PaintingBinding.instantiateImageCodecFromBuffer
ImageProvider.loadImageProvider.loadBuffer
DecoderCallbackDecoderBufferCallback

Este cambio habilitó un rendimiento más rápido en la carga de imágenes al usar un buffer.

Migration guide

Código antes de la migración:

dart
PaintingBinding.instance.instantiateImageCodec

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

dart
PaintingBinding.instance.instantiateImageCodecFromBuffer

References

Documentación de la API:

PRs relevantes:


Propiedades de TestWindow

#

Paquete: flutter_test Compatible con Flutter Fix: no

Para prepararse para el soporte multi-ventana, se han eliminado muchas propiedades deprecadas de TestWindow. Aunque TestWindow ha sido deprecado, no califica para su eliminación en este momento. Migrar las propiedades expiradas ahora ayudará a la migración desde TestWindow.

Se eliminaron las siguientes propiedades:

  • localeTestValue
  • clearLocaleTestValue
  • localesTestValue
  • clearLocalesTestValue
  • initialLifecycleStateTestValue
  • textScaleFactorTestValue
  • clearTextScaleFactorTestValue
  • platformBrightnessTestValue
  • clearPlatformBrightnessTestValue
  • alwaysUse24HourFormatTestValue
  • clearAlwaysUse24HourTestValue
  • brieflyShowPasswordTestValue
  • defaultRouteNameTestValue
  • clearDefaultRouteNameTestValue
  • semanticsEnabledTestValue
  • clearSemanticsEnabledTestValue
  • accessibilityFeaturesTestValue
  • clearAccessibilityFeaturesTestValue

Para obtener más información sobre esta actualización de TestWindow, consulta la guía de migración de TestWindow.

Migration guide

Código antes de la migración:

dart
testWidgets('My test', (WidgetTester tester) async {
  // For all instances, replace window with platformDispatcher
  tester.binding.window.textScaleFactorTestValue = 42;
  addTearDown(tester.binding.window.clearTextScaleFactorTestValue);
  // ...
});

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

dart
testWidgets('My test', (WidgetTester tester) async {
  // For all instances, replace window with platformDispatcher
  tester.binding.platformDispatcher.textScaleFactorTestValue = 42;
  addTearDown(tester.binding.platformDispatcher.clearTextScaleFactorTestValue);
  // ...
});

References

Documentación de la API:

PRs relevantes:


Timeline

#

En versión estable: 3.16