show method
void
show(
- BuildContext context, {
- Duration transitionDuration = Durations.short3,
- Widget transitionBuilder()?,
Displays the configured dialog.
Implementation
void show(
BuildContext context, {
Duration transitionDuration = Durations.short3,
Widget Function(
BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
Widget child,
)?
transitionBuilder,
}) {
showGeneralDialog(
context: context,
barrierDismissible: barrierDismissible,
barrierColor: barrierColor,
barrierLabel: MaterialLocalizations.of(context).modalBarrierDismissLabel,
useRootNavigator: useRootNavigator,
transitionDuration: transitionDuration,
pageBuilder: (context, animation, secondaryAnimation) {
final bottomInset = MediaQuery.of(context).viewInsets.bottom;
return SafeArea(
top: useSafeArea,
bottom: useSafeArea,
child: AnimatedPadding(
padding: EdgeInsets.only(bottom: bottomInset),
duration: const Duration(milliseconds: 250),
curve: Curves.easeOutQuad,
child: Align(
alignment: Alignment.center,
child: ConstrainedBox(
constraints: const BoxConstraints(maxWidth: 450),
child: Material(
color: Colors.transparent,
elevation: 0,
child: Padding(
padding: const EdgeInsets.symmetric(
horizontal: 24,
vertical: 24,
),
child: _bodyBuilder(context),
),
),
),
),
),
);
},
transitionBuilder:
transitionBuilder ??
(context, animation, secondaryAnimation, child) {
Widget animatedChild = FadeTransition(
opacity: animation,
child: ScaleTransition(
scale: Tween<double>(begin: 0.95, end: 1.0).animate(
CurvedAnimation(parent: animation, curve: Curves.easeOutCirc),
),
child: child,
),
);
// Apply a perfectly smooth animated blur if blurSigma is provided!
if (blurSigma > 0) {
animatedChild = BackdropFilter(
filter: ImageFilter.blur(
sigmaX: blurSigma * animation.value,
sigmaY: blurSigma * animation.value,
),
child: animatedChild,
);
}
return animatedChild;
},
).then((value) => onClose?.call(value));
}