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}) {
final LanguageKey languageKey = LanguageKey();
title ??= MultiLanguage.get(languageKey.ttlWarning);
lblOK ??= MultiLanguage.get(languageKey.btnOK);
if (isActionCancel && lblCancel == null) lblCancel = MultiLanguage.get(languageKey.btnCancel);
return showDialog(barrierDismissible: false, context: context,
builder: (context) => Dialog(shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(30.sp))),
child: Column(mainAxisSize: MainAxisSize.min, children: [
Container(width: 1.sw, decoration: BoxDecoration(color: const Color(0xFFF2F2F2),
borderRadius: BorderRadius.only(
topLeft: Radius.circular(30.sp), topRight: Radius.circular(30.sp))),
child: Padding(padding: EdgeInsets.all(40.sp), child: Stack(children: [
Align(alignment: Alignment.topRight, child: GestureDetector(
onTap: () => Navigator.of(context).pop(null),
child: const Icon(Icons.close, color: Color(0xFF626262)))),
Center(child: LabelCustom(title, color: const Color(0xFF191919), size: 60.sp))
]))),
Flexible(child: SingleChildScrollView(child: Padding(
padding: EdgeInsets.fromLTRB(20.sp, 40.sp, 20.sp, 40.sp),
child: LabelCustom(message, align: alignMessageText,
color: const Color(0xFF1F1F1F), weight: FontWeight.normal)))),
Row(crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center, children: [
if (isActionCancel) Padding(padding: EdgeInsets.only(right: 40.sp),
child: ElevatedButton(style: ElevatedButton.styleFrom(backgroundColor: const Color(0xFFB7B7B7)),
child: LabelCustom(lblCancel), onPressed: () => Navigator.of(context).pop(false))),
ElevatedButton(style: ElevatedButton.styleFrom(backgroundColor: StyleCustom.buttonColor),
child: LabelCustom(lblOK), onPressed: () => Navigator.of(context).pop(true))
]),
SizedBox(height: 40.sp)
])));
}