showDialog<T> method

Future<T?> showDialog<T>({
  1. required WidgetBuilder builder,
  2. bool barrierDismissible = true,
  3. Color? barrierColor = Colors.black54,
  4. String? barrierLabel,
  5. bool useSafeArea = true,
  6. RouteSettings? routeSettings,
  7. RouteSettings? settings,
  8. CapturedThemes? themes,
})

Implementation

Future<T?> showDialog<T>({
  required WidgetBuilder builder,
  bool barrierDismissible = true,
  Color? barrierColor = Colors.black54,
  String? barrierLabel,
  bool useSafeArea = true,
  RouteSettings? routeSettings,
  RouteSettings? settings,
  CapturedThemes? themes,
}) {
  final route = RawDialogRoute<T>(
    pageBuilder: (BuildContext buildContext, Animation<double> animation,
        Animation<double> secondaryAnimation) {
      final Widget pageChild = Builder(builder: builder);
      Widget dialog = themes?.wrap(pageChild) ?? pageChild;
      if (useSafeArea) {
        dialog = SafeArea(child: dialog);
      }
      return dialog;
    },
    barrierDismissible: barrierDismissible,
    barrierColor: barrierColor,
    barrierLabel: barrierLabel,
    transitionDuration: const Duration(milliseconds: 300),
    transitionBuilder: _buildMaterialDialogTransitions,
    settings: settings,
  );
  return push(route);
}