showDialog<T> method

Future<T?> showDialog<T>({
  1. required RouteWidgetBuilder builder,
  2. bool barrierDismissible = true,
  3. Color? barrierColor,
  4. bool animateBarrier = true,
  5. Duration barrierAnimationDuration = const Duration(milliseconds: 200),
  6. Alignment alignment = Alignment.center,
  7. num? width,
  8. num? height,
  9. String? name,
})

Shows a modal dialog by pushing a ModalRoute.

Returns a Future that completes with the dialog's result when the modal 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,
  bool animateBarrier = true,
  Duration barrierAnimationDuration = const Duration(milliseconds: 200),
  Alignment alignment = Alignment.center,
  num? width,
  num? height,
  String? name,
}) {
  final route = ModalRoute<T>(
    builder: builder,
    barrierDismissible: barrierDismissible,
    barrierColor: barrierColor,
    animateBarrier: animateBarrier,
    barrierAnimationDuration: barrierAnimationDuration,
    alignment: alignment,
    width: width,
    height: height,
    settings: RouteSettings(name: name ?? '/dialog'),
  );
  return push<T>(route);
}