kshowDialogSize function
Future<void>
kshowDialogSize(
- BuildContext context, {
- required Widget child,
- int width = 0,
- int? height,
- int radius = 0,
- Color? backgroundColor,
- Color? barrierColor,
- bool barrierDismissible = true,
- EdgeInsets insetPadding = const EdgeInsets.only(left: 0, right: 0),
- EdgeInsetsGeometry contentPadding = const EdgeInsets.all(0),
- AlignmentGeometry? contentAlignment = Alignment.topLeft,
- AlignmentGeometry? dialogAlignment = Alignment.center,
自定义对话框-设置固定宽度
context
child
内容
width
宽度
height
高度
radius
圆角
backgroundColor
背景颜色
barrierColor
dialog空白区域颜色
barrierDismissible
点击空白区域是否隐藏
insetPadding
外边距
contentPadding
内边距
contentAlignment
内容对其方式
dialogAlignment
对话框显示位置
kshowDialogSize(
context,
width: 100,
height: 100,
insetPadding: EdgeInsets.only(left: 0, right: 0),
backgroundColor: Colors.red,
contentPadding: EdgeInsets.all(0),
radius: 16,
child: Column()
);
```dart
Implementation
Future<void> kshowDialogSize(
BuildContext context, {
required Widget child,
int width = 0,
int? height,
int radius = 0,
Color? backgroundColor,
Color? barrierColor,
bool barrierDismissible = true,
EdgeInsets insetPadding = const EdgeInsets.only(left: 0, right: 0),
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 UnconstrainedBox(
constrainedAxis: Axis.vertical,
child: SizedBox(
width: width.w,
child: SimpleDialog(
insetPadding: insetPadding,
contentPadding: contentPadding,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(radius.r))),
backgroundColor: backgroundColor,
alignment: dialogAlignment,
children: [
Container(
height: height?.h,
alignment: contentAlignment,
child: Scrollbar(
child: SingleChildScrollView(
child: child,
),
),
)
],
),
),
);
},
);
}