show<T> method

Future<T?> show<T>(
  1. BuildContext context, {
  2. Color? barrierColor,
  3. bool useSafeArea = true,
  4. bool barrierDismissible = false,
  5. Duration transitionDuration = const Duration(milliseconds: 150),
  6. RouteTransitionsBuilder? transitionBuilder,
  7. bool useRootNavigator = true,
  8. RouteSettings? routeSettings,
})

Implementation

Future<T?> show<T>(
  BuildContext context, {
  Color? barrierColor,
  bool useSafeArea = true,
  bool barrierDismissible = false,
  Duration transitionDuration = const Duration(milliseconds: 150),
  RouteTransitionsBuilder? transitionBuilder,
  bool useRootNavigator = true,
  RouteSettings? routeSettings,
}) {
  _isShowing = true;
  WidgetBuilder builder = (buildContext) => _DialogWrapper(state: this);
  CapturedThemes themes = InheritedTheme.capture(
    from: context,
    to: Navigator.of(
      context,
      rootNavigator: useRootNavigator,
    ).context,
  );
  RoutePageBuilder pageBuilder = (
    BuildContext buildContext,
    Animation<double> animation,
    Animation<double> secondaryAnimation,
  ) {
    final Widget pageChild = Builder(builder: builder);
    Widget dialog = themes.wrap(pageChild);
    if (useSafeArea) {
      dialog = SafeArea(child: dialog);
    }
    return dialog;
  };
  return showGeneralDialog<T>(
    context: context,
    pageBuilder: pageBuilder,
    barrierDismissible: barrierDismissible,
    barrierColor: barrierColor ?? Colors.black54,
    transitionDuration: transitionDuration,
    transitionBuilder: transitionBuilder ?? _buildMaterialDialogTransitions,
    useRootNavigator: useRootNavigator,
    routeSettings: routeSettings ?? RouteSettings(name: getRouteName()),
  );
}