showAlertDialog function
void
showAlertDialog({
- String? title,
- Color titleColor = const Color(0XFF222222),
- String? contentText,
- Color contentTextColor = const Color(0XFF666666),
- String? cancelText,
- BorderRadius? cancelBorderRadius,
- Color? cancelBackgroundColor,
- Color? cancelTextColor,
- String? confirmText,
- BorderRadius? confirmBorderRadius,
- Color? confirmBackgroundColor,
- Color? confirmTextColor,
- Widget? confirmWidget,
- VoidCallback? onConfirm,
- VoidCallback? onCancel,
Implementation
void showAlertDialog({
String? title,
Color titleColor = const Color(0XFF222222),
String? contentText,
Color contentTextColor = const Color(0XFF666666),
String? cancelText,
BorderRadius? cancelBorderRadius,
Color? cancelBackgroundColor,
Color? cancelTextColor,
String? confirmText,
BorderRadius? confirmBorderRadius,
Color? confirmBackgroundColor,
Color? confirmTextColor,
Widget? confirmWidget,
VoidCallback? onConfirm,
VoidCallback? onCancel,
}) {
var actions = <Widget>[];
if (BZObjectUtil.isNotEmpty(cancelText)) {
actions.add(textButtonWidget(
text: cancelText!,
borderRadius: cancelBorderRadius,
backgroundColor: cancelBackgroundColor,
textColor: cancelTextColor,
padding: EdgeInsets.symmetric(horizontal: 30.w),
onPressed: onCancel ??
() {
Get.back();
})
.expanded());
}
if (confirmWidget != null) {
actions.add(confirmWidget.expanded());
} else if (BZObjectUtil.isNotEmpty(confirmText)) {
actions.add(textButtonWidget(
text: confirmText!,
borderRadius: confirmBorderRadius,
backgroundColor: confirmBackgroundColor,
textColor: confirmTextColor,
padding: EdgeInsets.symmetric(horizontal: 30.w),
onPressed: onConfirm)
.expanded());
}
if (actions.length == 2) {
actions.insert(
1,
SizedBox(
width: 13.w,
),
);
}
Widget baseAlertDialog = AlertDialog(
// titlePadding: titlePadding ?? const EdgeInsets.all(8),
// contentPadding: contentPadding ?? const EdgeInsets.all(8),
backgroundColor: Colors.white,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(20))),
title: BZObjectUtil.isNotEmpty(title)
? textWidget(
title,
textAlign: TextAlign.center,
color: titleColor,
fontSize: 15.sp,
fontWeight: FontWeight.bold,
)
: null,
content: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: [
BZObjectUtil.isNotEmpty(contentText)
? textWidget(contentText,
textAlign: TextAlign.center,
color: contentTextColor,
fontSize: 13.sp,
maxLines: 6)
: SizedBox.shrink(),
BZObjectUtil.isNotEmpty(contentText) && actions.isNotEmpty
? SizedBox(
height: 15.h,
)
: SizedBox.shrink(),
Row(
children: actions,
).flexible(),
],
),
buttonPadding: EdgeInsets.zero,
);
Get.dialog(baseAlertDialog);
}