kYesNoDialog function
dynamic
kYesNoDialog({
- required dynamic context,
- required dynamic centerText,
- required Function yes,
- required Function no,
- dynamic showNoBool = false,
- dynamic btnTextYes,
- dynamic btnTextYesColor,
- dynamic btnTextNo,
- dynamic btnTextNoColor,
- dynamic btnColorYes,
- dynamic btnColorNo,
- dynamic centerTextColor,
- dynamic isDismissible = true,
- Function? onBackPress,
- bool simpleBackPress = true,
constant popup
Implementation
kYesNoDialog(
{required context,
required centerText,
required Function yes,
required Function no,
showNoBool = false,
btnTextYes,
btnTextYesColor,
btnTextNo,
btnTextNoColor,
btnColorYes,
btnColorNo,
centerTextColor,
isDismissible = true,
Function? onBackPress,
bool simpleBackPress = true}) {
showGeneralDialog(
barrierLabel: "",
barrierDismissible: isDismissible,
barrierColor: Colors.grey.withOpacity(0.5),
transitionDuration: Duration(milliseconds: 300),
context: context,
pageBuilder: (BuildContext buildContext, Animation<double> animation,
Animation<double> secondaryAnimation) {
return WillPopScope(
child: Align(
alignment: Alignment.center,
child: Container(
padding: EdgeInsets.all(kBodyPadding),
height: 280,
child: Column(
mainAxisSize: MainAxisSize.min,
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Center(
child: CustomText(
text: centerText,
color: centerTextColor ?? greyColor1,
decoration: TextDecoration.none,
fontSize: size18)),
SizedBox(height: 40.0),
Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
if (showNoBool)
CustomButton(
textDecoration: TextDecoration.none,
width: 100.0,
textColor: btnTextNoColor ?? whiteColor,
height: 44.0,
onTap: () {
kHideKeyboard(context);
return no();
},
text: btnTextNo ?? Strings.no,
buttonColor: btnColorNo ?? orangeColor),
if (showNoBool) SizedBox(width: 30.0),
CustomButton(
textDecoration: TextDecoration.none,
width: 100.0,
textColor: btnTextYesColor ?? whiteColor,
height: 44.0,
onTap: () {
kHideKeyboard(context);
return yes();
},
text: btnTextYes ?? Strings.yes,
buttonColor: btnColorYes ?? yellowColor)
]),
]),
margin: EdgeInsets.only(
bottom: 0, left: kBodyPadding, right: kBodyPadding),
decoration: BoxDecoration(
color: whiteColor,
borderRadius: BorderRadius.circular(15)))),
onWillPop: simpleBackPress
? () => Future.value(true)
: () {
kHideKeyboard(context);
goBack(context: context);
onBackPress!();
return Future.value(true);
});
},
transitionBuilder: (_, anim, __, child) {
return SlideTransition(
position:
Tween(begin: Offset(0, 1), end: Offset(0, 0)).animate(anim),
child: child);
});
}