showCustomDialog static method
Future<bool?>
showCustomDialog(
- dynamic context,
- dynamic message, {
- dynamic title,
- dynamic isActionCancel = false,
- dynamic lblOK,
- dynamic lblCancel,
- dynamic alignMessageText = TextAlign.center,
Implementation
static Future<bool?> showCustomDialog(context, message, {title, isActionCancel = false,
lblOK, lblCancel, alignMessageText = TextAlign.center}) {
title ??= "Cảnh Báo";
lblOK ??= "Đồng Ý";
if (isActionCancel && lblCancel == null) lblCancel = "Hủy";
return showDialog(barrierDismissible: false, context: context,
builder: (context) => Dialog(shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(15))),
child: Column(mainAxisSize: MainAxisSize.min, children: [
Container(width: MediaQuery.of(context).size.width, decoration: BoxDecoration(color: const Color(0xFFF2F2F2),
borderRadius: BorderRadius.only(
topLeft: Radius.circular(12), topRight: Radius.circular(12))),
child: Padding(padding: EdgeInsets.all(14), child: Stack(children: [
Align(alignment: Alignment.topRight, child: GestureDetector(
onTap: () => Navigator.of(context).pop(false),
child: const Icon(Icons.close, color: Color(0xFF626262)))),
Center(child: LabelCustom(title, color: const Color(0xFF191919), size: 20))
]))),
Flexible(child: SingleChildScrollView(child: Padding(
padding: EdgeInsets.fromLTRB(8, 15, 8, 15),
child: LabelCustom(message, align: alignMessageText,
color: const Color(0xFF1F1F1F), weight: FontWeight.normal)))),
Row(crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, children: [
isActionCancel
? ElevatedButton(style: ElevatedButton.styleFrom(primary: const Color(0xFFB7B7B7)), child: LabelCustom(lblCancel),
onPressed: () => Navigator.of(context).pop(false))
: const SizedBox(),
Padding(padding: EdgeInsets.all(8)),
ElevatedButton(style: ElevatedButton.styleFrom(primary: Colors.orangeAccent), child: LabelCustom(lblOK),
onPressed: () => Navigator.of(context).pop(true))]),
Padding(padding: EdgeInsets.all(8))
])));
}