showDialog static method
void
showDialog({
- required Widget content,
- Widget? title,
- List<
Widget> ? actions, - String? cancelText,
- String? confirmText,
- VoidCallback? onConfirm,
- VoidCallback? onCancel,
- MainAxisAlignment? actionsAlignment,
- bool close = false,
- Widget? foot,
- bool barrierDismissible = true,
Implementation
static void showDialog({
required Widget content,
Widget? title,
List<Widget>? actions,
String? cancelText,
String? confirmText,
VoidCallback? onConfirm,
VoidCallback? onCancel,
MainAxisAlignment? actionsAlignment,
bool close = false,
Widget? foot,
bool barrierDismissible = true,
}) {
Get.dialog(
barrierDismissible: close ? false : barrierDismissible,
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
AlertDialog(
title: Center(child: title),
titleTextStyle: Theme.of(Get.context!).textTheme.titleMedium,
shape: RoundedRectangleBorder(
borderRadius:
BorderRadius.all(Radius.circular(CommonStyle.roundedMd)),
),
content: content,
actions: actions ??
<Widget>[
Row(
children: [
Expanded(
child: ComButton(
plain: true,
child: Text(cancelText ?? '取消'.tr),
onPressed: () =>
onCancel != null ? onCancel.call() : Get.back(),
),
),
SizedBox(width: CommonStyle.spaceMd),
Expanded(
child: ComButton(
gradient: CommonColors.primaryGradient,
child: Text(confirmText ?? '确定'.tr),
onPressed: () => onConfirm?.call(),
),
),
],
)
],
actionsAlignment: actionsAlignment ?? MainAxisAlignment.spaceAround,
),
Visibility(
visible: close,
child: foot ??
Container(
padding: const EdgeInsets.all(6),
decoration: BoxDecoration(
border: Border.all(
color: Colors.white60, // 边框颜色
width: 1.0, // 边框宽度
),
borderRadius: BorderRadius.circular(CommonStyle.rounded),
),
child: GestureDetector(
child: const Icon(
Icons.close,
size: 20,
color: Colors.white60,
),
onTap: () {
Get.back();
},
),
),
)
],
),
);
}