showBaseDialog<T> static method

Future<T?> showBaseDialog<T>({
  1. required BuildContext context,
  2. bool dismiss = false,
  3. WidgetBuilder? builder,
  4. Color color = Colors.black54,
  5. String? name,
})

弹出 dialog

Implementation

static Future<T?> showBaseDialog<T>(
    {required BuildContext context,
    bool dismiss = false,
    WidgetBuilder? builder,
    Color color = Colors.black54,
    String? name}) {
  FocusScope.of(context).unfocus();
  return showDialog<T>(
      context: context,
      barrierColor: color,
      routeSettings: RouteSettings(name: name ?? 'showBaseDialog'),
      builder: (context) {
        return GestureDetector(
          behavior: HitTestBehavior.opaque,
          onTap: () {
            if (dismiss) {
              Navigator.pop(context);
            }
          },
          child: Scaffold(
            resizeToAvoidBottomInset: false,
            backgroundColor: Colors.transparent,
            body: MediaQuery(
              ///不受系统字体缩放影响
              data: MediaQuery.of(context).copyWith(textScaleFactor: 1.0),
              child: builder!(context),
            ),
          ),
        );
      });
}