Reorganización de los builders de transición de página
CupertinoPageTransitionsBuilder se ha trasladado de la librería Material a la librería Cupertino, a la que pertenece.
Resumen
#CupertinoPageTransitionsBuilder se ha reubicado de
package:flutter/material.dart a package:flutter/cupertino.dart.
Contexto
#Flutter proporciona varios generadores de transiciones de página que
controlan cómo se animan las rutas al navegar entre páginas.
Estos generadores se utilizan con PageTransitionsTheme para
personalizar las transiciones por plataforma.
Los generadores de transiciones de página disponibles son:
| Builder | Librería | Descripción |
|---|---|---|
FadeUpwardsPageTransitionsBuilder |
Material | Transición por defecto antes de Material 3 |
OpenUpwardsPageTransitionsBuilder |
Material | Transición de deslizamiento vertical |
ZoomPageTransitionsBuilder |
Material | Transición de zoom (predeterminada en Material 3) |
PredictiveBackPageTransitionsBuilder |
Material | Soporte para el gesto predictivo de retroceso de Android |
CupertinoPageTransitionsBuilder |
Cupertino | Transición de deslizamiento horizontal al estilo iOS |
Anteriormente, CupertinoPageTransitionsBuilder estaba definido en
la librería Material junto con los demás generadores.
Esta clase es semánticamente un componente Cupertino porque
su implementación utiliza mixins de transición de Cupertino y
proporciona animaciones de navegación al estilo iOS.
Este movimiento mejora la organización del código y permite que las aplicaciones Cupertino utilicen este generador sin depender de la librería Material.
Guía de migración
#Si utilizas CupertinoPageTransitionsBuilder y
solo importas package:flutter/material.dart,
agrega una importación para package:flutter/cupertino.dart.
Código antes de la migración:
import 'package:flutter/material.dart';
final pageTransitionsTheme = PageTransitionsTheme(
builders: {
TargetPlatform.android: ZoomPageTransitionsBuilder(),
TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
},
);
Código después de la migración:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
final pageTransitionsTheme = PageTransitionsTheme(
builders: {
TargetPlatform.android: ZoomPageTransitionsBuilder(),
TargetPlatform.iOS: CupertinoPageTransitionsBuilder(),
},
);
Si tu aplicación ya importa ambos paquetes, no se necesitan cambios.
Timeline
#Introducido en la versión: 3.43.0-0.1.pre
En la versión estable: 3.44
Referencias
#PRs relevantes:
A menos que se indique lo contrario, la documentación en este sitio refleja Flutter 3.44.0. Página actualizada por última vez el 20-05-2026. Ver código fuente oreportar un problema.