show<T> method
Future<T?>
show<T>(
- BuildContext context, {
- Color? barrierColor,
- bool useSafeArea = true,
- bool barrierDismissible = false,
- Duration transitionDuration = const Duration(milliseconds: 150),
- RouteTransitionsBuilder? transitionBuilder,
- RouteSettings? routeSettings,
Implementation
Future<T?> show<T>(
BuildContext context, {
Color? barrierColor,
bool useSafeArea = true,
bool barrierDismissible = false,
Duration transitionDuration = const Duration(milliseconds: 150),
RouteTransitionsBuilder? transitionBuilder,
bool useRootNavigator = true,
RouteSettings? routeSettings,
}) {
_isShowing = true;
WidgetBuilder builder = (buildContext) => _DialogWrapper(state: this);
CapturedThemes themes = InheritedTheme.capture(
from: context,
to: Navigator.of(
context,
rootNavigator: useRootNavigator,
).context,
);
RoutePageBuilder pageBuilder = (
BuildContext buildContext,
Animation<double> animation,
Animation<double> secondaryAnimation,
) {
final Widget pageChild = Builder(builder: builder);
Widget dialog = themes.wrap(pageChild);
if (useSafeArea) {
dialog = SafeArea(child: dialog);
}
return dialog;
};
return showGeneralDialog<T>(
context: context,
pageBuilder: pageBuilder,
barrierDismissible: barrierDismissible,
barrierColor: barrierColor ?? Colors.black54,
transitionDuration: transitionDuration,
transitionBuilder: transitionBuilder ?? _buildMaterialDialogTransitions,
useRootNavigator: useRootNavigator,
routeSettings: routeSettings ?? RouteSettings(name: getRouteName()),
);
}