showDialog<T> function
Future<T?>
showDialog<T>({
- required BuildContext context,
- Widget? child,
- WidgetBuilder? builder,
- bool barrierDismissible = true,
Shows a themed dialog and returns the dialog widget.
Implementation
Future<T?> showDialog<T>({
required BuildContext context,
Widget? child,
WidgetBuilder? builder,
bool barrierDismissible = true,
bool useRootNavigator = true,
}) {
assert(child != null || builder != null,
'Either child or builder must be provided.');
return showGeneralDialog<T>(
context: context,
barrierDismissible: barrierDismissible,
useRootNavigator: useRootNavigator,
barrierLabel: MaterialLocalizations.of(context).modalBarrierDismissLabel,
barrierColor: Colors.black.withValues(alpha: 0.5),
transitionDuration: const Duration(milliseconds: 250),
transitionBuilder: (BuildContext context, Animation<double> animation,
Animation<double> secondary, Widget child) =>
FadeTransition(
opacity: animation,
child: ScaleTransition(
scale: Tween<double>(begin: 0.9, end: 1).animate(
CurvedAnimation(parent: animation, curve: Curves.easeOutBack),
),
child: child,
),
),
pageBuilder: (BuildContext context, Animation<double> animation,
Animation<double> secondary) =>
child ?? builder!(context),
);
}