showDialogWithAnimation function
void
showDialogWithAnimation(
- BuildContext context, {
- bool barrierDismissible = false,
- String? barrierLabel,
- Color? barrierColor,
- Duration transitionDuration = const Duration(milliseconds: 200),
- DialogAnimationType animType = DialogAnimationType.curveEaseInOutBack,
- required Widget dialog,
Show dialog with some animation
Implementation
void showDialogWithAnimation(
BuildContext context, {
bool barrierDismissible = false,
String? barrierLabel,
Color? barrierColor,
Duration transitionDuration = const Duration(milliseconds: 200),
DialogAnimationType animType = DialogAnimationType.curveEaseInOutBack,
required Widget dialog,
}) {
showGeneralDialog(
context: context,
pageBuilder: (context, anim1, anim2) => dialog,
barrierDismissible: barrierDismissible,
barrierLabel: barrierLabel,
barrierColor: barrierColor ?? const Color(0x80000000),
transitionDuration: transitionDuration,
transitionBuilder: (context, anim1, anim2, child) {
if (animType == DialogAnimationType.curveEaseInOutBack) {
final curveValue = Curves.easeInOutBack.transform(anim1.value) - 1.0;
return Transform(
transform: Matrix4.translationValues(0.0, curveValue * 200, 0.0),
child: Opacity(
opacity: anim1.value,
child: dialog,
),
);
} else if (animType == DialogAnimationType.scale) {
return Transform.scale(
scale: anim1.value,
child: Opacity(
opacity: anim1.value,
child: dialog,
),
);
} else {
return dialog;
}
},
);
}