pushWidgetWithTransition<T> static method

Future<T?> pushWidgetWithTransition<T>(
  1. BuildContext context,
  2. Widget page, {
  3. NavTransitionType transitionType = NavTransitionType.fade,
  4. Duration? transitionDuration,
  5. Duration? reverseTransitionDuration,
})

Push a widget directly with a custom transition.

Implementation

static Future<T?> pushWidgetWithTransition<T>(
  BuildContext context,
  Widget page, {
  NavTransitionType transitionType = NavTransitionType.fade,
  Duration? transitionDuration,
  Duration? reverseTransitionDuration,
}) => Navigator.push<T>(
  context,
  PageRouteBuilder<T>(
    transitionDuration:
        transitionDuration ?? NavTransitions.defaultDuration(transitionType),
    reverseTransitionDuration:
        reverseTransitionDuration ??
        NavTransitions.defaultReverseDuration(transitionType),
    pageBuilder: (_, _, _) => page,
    transitionsBuilder: (ctx, animation, secondary, child) =>
        NavTransitions.build(
          transitionType,
          ctx,
          animation,
          secondary,
          child,
        ),
  ),
);