easyDialog<T> method
Future<T?>
easyDialog<T>({
- EdgeInsets? padding,
- EdgeInsets? contentPadding,
- Color backgroundColor = Colors.white,
- Color barrierColor = Colors.black54,
- List<
Widget> children = const [], - bool barrierDismissible = true,
- bool useSafeArea = true,
- CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center,
- MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start,
- Widget? closeIcon,
- bool closeIconVisible = true,
default padding is (context.w * 0.16).padSH
default content padding is [10, 10].padSHV
On tap to close dialog is default on closeIcon
Implementation
Future<T?> easyDialog<T>({
EdgeInsets? padding,
EdgeInsets? contentPadding,
Color backgroundColor = Colors.white,
Color barrierColor = Colors.black54,
List<Widget> children = const [],
bool barrierDismissible = true,
bool useSafeArea = true,
CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center,
MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start,
Widget? closeIcon,
bool closeIconVisible = true,
}) {
return showDialog<T>(
context: context,
barrierColor: barrierColor,
barrierDismissible: barrierDismissible,
useSafeArea: useSafeArea,
builder: (context) {
return Dialog(
insetPadding: padding ?? (context.w * 0.16).padSH,
elevation: 0,
backgroundColor: backgroundColor,
shape: RoundedRectangleBorder(
borderRadius: 4.cBorderRadius,
),
child: Column(
crossAxisAlignment: crossAxisAlignment,
mainAxisAlignment: mainAxisAlignment,
mainAxisSize: MainAxisSize.min,
children: [
if (closeIconVisible) ...[
MouseRegion(
cursor: SystemMouseCursors.click,
child: (closeIcon ??
Icon(
Icons.close,
color: Colors.grey[400],
size: 16.hWise,
))
.onTap(() => back)
.alignTR,
),
5.hGap,
],
...children,
],
).padd(contentPadding ?? [10.wWise, 10.hWise].padSHV),
);
},
);
}