push<T extends Object?> static method

Future<T?> push<T extends Object?>(
  1. Widget widget, {
  2. PageRouteBuilder<T>? routeBuilder,
  3. RoutePageBuilder? pageBuilder,
  4. RouteTransitionsBuilder? transition,
  5. RouteSettings? settings,
  6. Duration? duration,
  7. Duration? reverseDuration,
  8. bool? opaque,
  9. bool? barrierDismissible,
  10. Color? barrierColor,
  11. String? barrierLabel,
  12. bool? maintainState,
  13. bool? fullscreenDialog,
})

Implementation

static Future<T?> push<T extends Object?>(
  Widget widget, {
  PageRouteBuilder<T>? routeBuilder,
  RoutePageBuilder? pageBuilder,
  RouteTransitionsBuilder? transition,

  // copy from PageRouteBuilder constructor
  RouteSettings? settings,
  Duration? duration,
  Duration? reverseDuration,
  bool? opaque,
  bool? barrierDismissible,
  Color? barrierColor,
  String? barrierLabel,
  bool? maintainState,
  bool? fullscreenDialog,
}) {
  DialogShower? shower = getTopNavigatorDialog();
  assert(shower != null, 'You should ensure already have a navigator-shower popup, using pushRoot or isWrappedByNavigator = true.');
  return shower!.push(
    widget,
    duration: duration ?? const Duration(milliseconds: 200),
    reverseDuration: reverseDuration ?? const Duration(milliseconds: 200),
    transition: transition ?? ShowerTransitionBuilder.slideFromRight,
    routeBuilder: routeBuilder,
    pageBuilder: pageBuilder,
    settings: settings,
    opaque: opaque,
    barrierDismissible: barrierDismissible,
    barrierColor: barrierColor,
    barrierLabel: barrierLabel,
    maintainState: maintainState,
    fullscreenDialog: fullscreenDialog,
  );
}