push<T extends Object?> static method
Future<T?>
push<T extends Object?>(
- Widget widget, {
- PageRouteBuilder<
T> ? routeBuilder, - RoutePageBuilder? pageBuilder,
- RouteTransitionsBuilder? transition,
- RouteSettings? settings,
- Duration? duration,
- Duration? reverseDuration,
- bool? opaque,
- bool? barrierDismissible,
- Color? barrierColor,
- String? barrierLabel,
- bool? maintainState,
- 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,
);
}