showDialog<T> method

Future<T?> showDialog<T>({
  1. required RouteWidgetBuilder builder,
  2. bool barrierDismissible = true,
  3. Color? barrierColor,
  4. String? barrierLabel,
  5. bool useSafeArea = true,
  6. Alignment alignment = Alignment.center,
  7. num? width,
  8. num? height,
  9. RouteSettings? routeSettings,
  10. AnimationStyle? animationStyle,
})

Shows a modal dialog by pushing a DialogRoute.

Returns a Future that completes with the dialog's result when the dialog is dismissed.

final result = await Navigator.of(context).showDialog<bool>(
  builder: (context) => ConfirmDialog(),
);

Implementation

Future<T?> showDialog<T>({
  required RouteWidgetBuilder builder,
  bool barrierDismissible = true,
  Color? barrierColor,
  String? barrierLabel,
  bool useSafeArea = true,
  Alignment alignment = Alignment.center,
  num? width,
  num? height,
  RouteSettings? routeSettings,
  AnimationStyle? animationStyle,
}) {
  final route = DialogRoute<T>(
    builder: builder,
    barrierDismissible: barrierDismissible,
    barrierColor: barrierColor,
    barrierLabel: barrierLabel,
    useSafeArea: useSafeArea,
    alignment: alignment,
    width: width,
    height: height,
    animationStyle: animationStyle,
    settings: routeSettings ?? RouteSettings(name: DialogRoute.routeName),
  );
  return push<T>(route);
}