API desaprobada eliminada después de la v3.7
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.7.
Todas las API afectadas se han recopilado en esta fuente principal para ayudar en la migración. También está disponible una hoja de referencia rápida.
Cambios
#Esta sección enumera las desaprobaciones, clasificadas por la clase afectada.
GestureRecognizer.kind y subclases
#
Compatible con Flutter Fix: sí
GestureRecognizer.kind fue deprecado en v2.3.
Usa GestureRecognizer.supportedDevices en su lugar.
Este mismo cambio afecta a todas las subclases de GestureRecognizer:
EagerGestureRecognizerForcePressGestureRecognizerLongPressGestureRecognizerDragGestureRecognizerVerticalDragGestureRecognizerHorizontalDragGestureRecognizerMultiDragGestureRecognizerImmediateMultiDragGestureRecognizerHorizontalMultiDragGestureRecognizerVerticalMultiDragGestureRecognizerDelayedMultiDragGestureRecognizerDoubleTapGestureRecognizerMultiTapGestureRecognizerOneSequenceGestureRecognizerPrimaryPointerGestureRecognizerScaleGestureRecognizer
Este cambio permitió que se reconocieran múltiples dispositivos para un gesto, en lugar
de la única opción que proporcionaba kind.
Migration guide
Código antes de la migración:
var myRecognizer = GestureRecognizer(
kind: PointerDeviceKind.mouse,
);
Código después de la migración:
var myRecognizer = GestureRecognizer(
supportedDevices: <PointerDeviceKind>[ PointerDeviceKind.mouse ],
);
References
Documentación de la API:
-
GestureRecognizer -
EagerGestureRecognizer -
ForcePressGestureRecognizer -
LongPressGestureRecognizer -
DragGestureRecognizer -
VerticalDragGestureRecognizer -
HorizontalDragGestureRecognizer -
MultiDragGestureRecognizer -
ImmediateMultiDragGestureRecognizer -
HorizontalMultiDragGestureRecognizer -
VerticalMultiDragGestureRecognizer -
DelayedMultiDragGestureRecognizer -
DoubleTapGestureRecognizer -
MultiTapGestureRecognizer -
OneSequenceGestureRecognizer -
PrimaryPointerGestureRecognizer -
ScaleGestureRecognizer
PRs relevantes:
ThemeData accentColor, accentColorBrightness, accentColorTextTheme,
accentColorIconTheme y buttonColor
#
Compatible con Flutter Fix: sí
Las propiedades accentColor, accentColorBrightness, accentColorTextTheme,
accentColorIconTheme y buttonColor de ThemeData fueron
deprecadas en v2.3.
Este cambio alineó mejor a ThemeData con las directrices de Material Design. También
generó mayor claridad en los temas (theming) al depender del esquema de color principal o
de los temas de componentes individuales para el estilo deseado.
Las propiedades accentColorBrightness, accentColorTextTheme,
accentColorIconTheme y buttonColor ya no son utilizadas por el framework.
Las referencias deben eliminarse.
Los usos de ThemeData.accentColor deben reemplazarse con
ThemeData.colorScheme.secondary.
Guía de migración
#Código antes de la migración:
var myTheme = ThemeData(
//...
accentColor: Colors.blue,
//...
);
var color = myTheme.accentColor;
Código después de la migración:
var myTheme = ThemeData(
//...
colorScheme: ColorScheme(
//...
secondary:Colors.blue,
//...
),
//...
);
var color = myTheme.colorScheme.secondary;
References
Documentación de la API:
Issues relevantes:
PRs relevantes:
Deprecado en:
Eliminado en:
Actualizaciones de AppBar, SliverAppBar y AppBarTheme
#
Compatible con Flutter Fix: sí
En v2.4, se realizaron varios cambios en las clases de barra de aplicaciones (app bar) y sus temas para alinearse mejor con Material Design. Varias propiedades fueron deprecadas en ese momento y se han eliminado.
Para AppBar, SliverAppBar y AppBarTheme:
brightnessse ha eliminado y es reemplazada porsystemOverlayStyletextThemese ha eliminado y es reemplazada portoolbarTextStyleotitleTextStyle.backwardsCompatibilityse puede eliminar, ya que era una bandera de migración temporal para estas propiedades.
Además, AppBarTheme.color fue eliminado, teniendo como reemplazo a AppBarTheme.backgroundColor.
Migration guide
Código antes de la migración:
var toolbarTextStyle = TextStyle(...);
var titleTextStyle = TextStyle(...);
AppBar(
brightness: Brightness.light,
textTheme: TextTheme(
bodyMedium: toolbarTextStyle,
titleLarge: titleTextStyle,
)
backwardsCompatibility: true,
);
AppBarTheme(color: Colors.blue);
Código después de la migración:
var toolbarTextStyle = TextStyle(...);
var titleTextStyle = TextStyle(...);
AppBar(
systemOverlayStyle: SystemOverlayStyle(statusBarBrightness: Brightness.light),
toolbarTextStyle: toolbarTextStyle,
titleTextStyle: titleTextStyle,
);
AppBarTheme(backgroundColor: Colors.blue);
References
Documentación de la API:
Issues relevantes:
Deprecado en:
Eliminado en:
SystemChrome.setEnabledSystemUIOverlays
#
Compatible con Flutter Fix: sí
En v2.3, SystemChrome.setEnabledSystemUIOVerlays, el método estático para
establecer las superposiciones a nivel de sistema del dispositivo (como las barras de estado y navegación), fue
deprecado en favor de SystemChrome.setEnabledSystemUIMode.
Este cambio permitió configurar modos comunes de pantalla completa que coinciden con los diseños nativos de aplicaciones Android como edge to edge.
El establecimiento manual de superposiciones, en lugar de elegir un modo específico, todavía está
soportado a través de SystemUiMode.manual, lo que permite a los desarrolladores pasar la misma
lista de superposiciones que antes.
Migration guide
Código antes de la migración:
SystemChrome.setEnabledSystemUIOverlays(<SystemUiOverlay>[
SystemUiOverlay.top,
SystemUiOverlay.bottom,
]);
Código después de la migración:
SystemChrome.setEnabledSystemUIMode(
SystemUiMode.manual,
overlays: <SystemUiOverlay>[
SystemUiOverlay.top,
SystemUiOverlay.bottom,
],
);
References
Documentación de la API:
Issues relevantes:
Deprecado en:
Eliminado en:
SystemNavigator.routeUpdated
#
Compatible con Flutter Fix: sí
En v2.3, SystemNavigator.routeUpdated fue deprecado en favor de
SystemNavigator.routeInformationUpdated.
En lugar de tener dos formas de actualizar el engine sobre la ruta actual, el
cambio movió todo a una sola API, la cual selecciona por separado el modo de historial de
entrada única si se crea un Navigator que reporta rutas.
Migration guide
Código antes de la migración:
SystemNavigator.routeUpdated(routeName: 'foo', previousRouteName: 'bar');
Código después de la migración:
SystemNavigator.routeInformationUpdated(location: 'foo');
References
Documentación de la API:
Issues relevantes:
Deprecado en:
Eliminado en:
AnimatedSize.vsync
#
Compatible con Flutter Fix: sí
En v2.2, AnimatedSize.vsyc fue deprecado. Esta propiedad ya no era
necesaria después de que AnimatedSize se convirtiera en un StatefulWidget
cuya State
mezclara SingleTickerProviderStateMixin. El cambio se realizó para solucionar una fuga de
memoria.
Los usos de vsync deben eliminarse, ya que AnimatedSize ahora maneja esta propiedad.
Migration guide
Código antes de la migración:
AnimatedSize(
vsync: this,
// ...
);
Código después de la migración:
AnimatedSize(
// ...
);
References
Documentación de la API:
Deprecado en:
Eliminado en:
Timeline
#En versión estable: 3.10
A menos que se indique lo contrario, la documentación de este sitio refleja Flutter 3.44.0. Página actualizada por última vez el 2026-05-11. Ver código fuente oreportar un problema.