showLoadingDialog static method
void
showLoadingDialog(
- BuildContext context, {
- Color? indicatorColor,
- String? promptText,
- TextStyle? promptTextStyle,
- dynamic dismiss()?,
@description: 显示loading弹窗对话框 @param {} @return {}
Implementation
static void showLoadingDialog(BuildContext context,
{Color? indicatorColor,
String? promptText,
TextStyle? promptTextStyle,
Function()? dismiss}) {
showDialog(
// showDialog中已经给对话框设置了最小宽度约束
barrierDismissible: false, // 点击遮罩不关闭对话框
context: context,
barrierColor: null,
builder: (BuildContext context) {
return WillPopScope(
onWillPop: () {
if (dismiss != null) dismiss();
return Future(() => true);
},
child: UnconstrainedBox(
constrainedAxis: Axis.vertical,
child: SizedBox(
width: 200.w,
height: 200.w,
child: AlertDialog(
elevation: 2,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8.w)),
contentPadding: EdgeInsets.fromLTRB(24.0, 20.0, 24.0, 10.0),
content: Column(
mainAxisSize: MainAxisSize.min,
children: [
CircularProgressIndicator(
color: indicatorColor ??
Color.fromRGBO(255, 110, 53, 1),
strokeWidth: 2.w),
Padding(padding: EdgeInsets.only(top: 16.w)),
Text(
promptText ?? '加载中...',
style: promptTextStyle ??
TextStyle(
color: indicatorColor ??
Color.fromRGBO(255, 110, 53, 1),
fontSize: 18.sp,
fontWeight: FontWeight.w300),
)
],
),
),
),
));
});
}