showCustomDialog function
dynamic
showCustomDialog(
- BuildContext context, {
- String btnText = kOK,
- Color btnColor = Colors.blue,
- bool barrierDismissible = false,
- Color dividerColor = Colors.blue,
- TextAlign descTextAlign = TextAlign.center,
- TextAlign titleTextAlign = TextAlign.center,
- Duration transitionDuration = const Duration(milliseconds: 400),
- DialogAnimationType dialogAnimationType = DialogAnimationType.grow,
- TextStyle descStyle = const TextStyle(fontSize: 16, letterSpacing: 0.27, color: Colors.black),
- TextStyle btnStyle = const TextStyle(fontSize: 18, letterSpacing: 0.27, fontWeight: FontWeight.w400),
- TextStyle titleStyle = const TextStyle(fontSize: 18, letterSpacing: 0.27, fontWeight: FontWeight.bold),
- required String title,
- required String description,
This method will show a dialog box with custom UI and animation
Implementation
showCustomDialog(
BuildContext context, {
String btnText = kOK,
Color btnColor = Colors.blue,
bool barrierDismissible = false,
Color dividerColor = Colors.blue,
TextAlign descTextAlign = TextAlign.center,
TextAlign titleTextAlign = TextAlign.center,
Duration transitionDuration = const Duration(milliseconds: 400),
DialogAnimationType dialogAnimationType = DialogAnimationType.grow,
TextStyle descStyle = const TextStyle(fontSize: 16, letterSpacing: 0.27, color: Colors.black),
TextStyle btnStyle = const TextStyle(fontSize: 18, letterSpacing: 0.27, fontWeight: FontWeight.w400),
TextStyle titleStyle = const TextStyle(fontSize: 18, letterSpacing: 0.27, fontWeight: FontWeight.bold),
required String title,
required String description,
}) {
return showGeneralDialog(
context: context,
barrierLabel: '',
barrierDismissible: barrierDismissible,
transitionDuration: transitionDuration,
barrierColor: Colors.black.withOpacity(0.4),
transitionBuilder: (context, animation, secondaryAnimation, child) {
switch (dialogAnimationType) {
case DialogAnimationType.grow:
return Animations.grow(animation, child);
case DialogAnimationType.fromTop:
return Animations.fromTop(animation, child);
case DialogAnimationType.fromLeft:
return Animations.fromLeft(animation, child);
case DialogAnimationType.fromRight:
return Animations.fromRight(animation, child);
case DialogAnimationType.fromBottom:
return Animations.fromBottom(animation, child);
default:
return Animations.grow(animation, child);
}
},
pageBuilder: (BuildContext context, animation, secondaryAnimation) {
return _CustomDialog(
title: title,
btnText: btnText,
btnColor: btnColor,
btnStyle: btnStyle,
descStyle: descStyle,
titleStyle: titleStyle,
description: description,
dividerColor: dividerColor,
descTextAlign: descTextAlign,
titleTextAlign: titleTextAlign,
);
},
);
}