kshowDialog function

Future<void> kshowDialog(
  1. BuildContext context, {
  2. required Widget child,
  3. int radius = 0,
  4. Color? backgroundColor,
  5. Color? barrierColor,
  6. bool barrierDismissible = true,
  7. EdgeInsets insetPadding = const EdgeInsets.only(left: 16, right: 16),
  8. EdgeInsetsGeometry contentPadding = const EdgeInsets.all(0),
  9. AlignmentGeometry? contentAlignment = Alignment.topLeft,
  10. AlignmentGeometry? dialogAlignment = Alignment.center,
})

自定义对话框 默认宽度距离边框16dp context child 内容 radius 圆角 backgroundColor 背景颜色 barrierColor dialog空白区域颜色 barrierDismissible 点击空白区域是否隐藏 insetPadding 外边距 contentPadding 内边距 contentAlignment 内容对其方式 dialogAlignment 对话框显示位置

           kshowDialog(
              context,
              insetPadding: EdgeInsets.only(left: 32, right: 32),
              backgroundColor: Colors.red,
              contentPadding: EdgeInsets.all(16),
              radius: 16,
              child: ,
            );
```dart

Implementation

Future<void> kshowDialog(
  BuildContext context, {
  required Widget child,
  int radius = 0,
  Color? backgroundColor,
  Color? barrierColor,
  bool barrierDismissible = true,
  EdgeInsets insetPadding = const EdgeInsets.only(left: 16, right: 16),
  EdgeInsetsGeometry contentPadding = const EdgeInsets.all(0),
  AlignmentGeometry? contentAlignment = Alignment.topLeft,
  AlignmentGeometry? dialogAlignment = Alignment.center,
}) async {
  return await showDialog<void>(
      context: context,
      barrierDismissible: barrierDismissible,
      barrierColor: barrierColor,
      //在iOS上,顶部和下部当有SafeArea时,会留有一片区域空白,原因是showDialog有个属性useSafeArea默认为 true,改为fasle即可
      useSafeArea: false,
      builder: (BuildContext context) {
        return SimpleDialog(
          ///Dialog全屏显示,就要将Dialog的insetPadding设为0
          insetPadding: insetPadding,
          contentPadding: contentPadding,
          shape: RoundedRectangleBorder(
              borderRadius: BorderRadius.all(Radius.circular(radius.r))),
          backgroundColor: backgroundColor,
          alignment: dialogAlignment,
          children: [
            Container(
              alignment: contentAlignment,
              width: double.maxFinite,
              child: child,
            )
          ],
        );
      });
}