buildTransitions<T> method

  1. @override
Widget buildTransitions<T>(
  1. PageRoute<T> route,
  2. BuildContext context,
  3. Animation<double> animation,
  4. Animation<double> secondaryAnimation,
  5. Widget child,
)
override

Wraps the child with one or more transition widgets which define how route arrives on and leaves the screen.

Subclasses override this method to create a transition animation.

The MaterialPageRoute.buildTransitions method is an example of a method that uses this to build a transition. It looks up the current PageTransitionsTheme with Theme.of(context).pageTransitionsTheme and delegates to this method with a PageTransitionsBuilder based on the theme's ThemeData.platform.

Implementation

@override
Widget buildTransitions<T>(
  PageRoute<T> route,
  BuildContext context,
  Animation<double> animation,
  Animation<double> secondaryAnimation,
  Widget child,
) {
  const begin = Offset(0.0, 1.0);
  const end = Offset.zero;

  var tween = Tween(
    begin: begin,
    end: end,
  ).chain(CurveTween(
    curve: Curves.ease,
  ));

  return SlideTransition(
    position: animation.drive(tween),
    child: child,
  );
}