showConfirmDialog function
Future?
showConfirmDialog(
- BuildContext context,
- String text, {
- Function? confirmCallback,
- dynamic submitTitle = '确定',
- dynamic cancelTitle = "取消",
- dynamic title = '温馨提示',
Implementation
Future<dynamic>? showConfirmDialog(
BuildContext context,
String text, {
Function? confirmCallback,
submitTitle = '确定',
cancelTitle = "取消",
title = '温馨提示',
}) {
return showCupertinoModalPopup(
context: context,
builder: (context) {
return SimpleDialog(
title: Container(
height: 80.w,
alignment: Alignment.center,
decoration: BoxDecoration(
color: Color.fromRGBO(235, 236, 236, 1),
borderRadius: BorderRadius.only(
topLeft: Radius.circular(20.w),
topRight: Radius.circular(20.w),
),
),
child: Text(
title,
style: font(30, color: '#3e3e3e'),
),
),
titlePadding: EdgeInsets.all(0),
contentPadding: EdgeInsets.all(0),
backgroundColor: themeColor.ffFFFFFF,
elevation: 0,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(
Radius.circular(20.w),
),
),
children: <Widget>[
Container(
alignment: Alignment.center,
padding: EdgeInsets.symmetric(vertical: 56.w, horizontal: 42.w),
child: Text(
text,
style: font(26, color: '#030303'),
),
),
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(20.w),
bottomRight: Radius.circular(20.w),
),
),
child: Row(
children: [
if (cancelTitle != null)
Expanded(
flex: 1,
child: GestureDetector(
onTap: () {
Navigator.of(context).pop();
},
child: Container(
height: 76.w,
decoration: BoxDecoration(
color: Color.fromRGBO(235, 236, 236, 1),
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(20.w),
),
),
alignment: Alignment.center,
child: Text(cancelTitle),
),
),
),
Expanded(
flex: 1,
child: GestureDetector(
onTap: () {
confirmCallback?.call();
if (confirmCallback != null) {
Navigator.of(context).pop();
}
},
child: Container(
// width: 340.w,
height: 76.w,
// decoration: BoxDecoration(
// image: DecorationImage(
// image: NetworkImage(telIcon),
// fit: BoxFit.fill,
// alignment: AlignmentDirectional.topStart,
// ),
// ),
decoration: BoxDecoration(
gradient: LinearGradient(
colors: [
Color.fromRGBO(253, 100, 79, 1),
Color.fromRGBO(241, 141, 39, 1),
],
begin: Alignment.topCenter,
end: Alignment.bottomCenter,
),
borderRadius: BorderRadius.only(
bottomRight: Radius.circular(20.w),
bottomLeft: Radius.circular(cancelTitle != null ? 0.w : 20.w),
),
),
alignment: Alignment.center,
child: Text(
submitTitle,
style: font(28, color: '#ffffff'),
).background(),
),
),
),
],
),
),
],
);
});
}