AlignedDialogRoute<T> constructor
AlignedDialogRoute<T> ({
- required BuildContext context,
- required WidgetBuilder builder,
- required Alignment followerAlignment,
- required Offset position,
- CapturedThemes? themes,
- Color? barrierColor = Colors.transparent,
- bool barrierDismissible = true,
- String? barrierLabel,
- bool useSafeArea = false,
- RouteSettings? settings,
- RouteTransitionsBuilder? transitionsBuilder,
- Duration? duration,
- bool avoidOverflow = false,
- Offset offset = Offset.zero,
A dialog route with Material entrance and exit animations, modal barrier color, and modal barrier behavior (dialog is dismissible with a tap on the barrier).
Implementation
AlignedDialogRoute({
required BuildContext context,
required WidgetBuilder builder,
required Alignment followerAlignment,
required Offset position,
CapturedThemes? themes,
Color? barrierColor = Colors.transparent,
bool barrierDismissible = true,
String? barrierLabel,
bool useSafeArea = false,
RouteSettings? settings,
RouteTransitionsBuilder? transitionsBuilder,
Duration? duration,
bool avoidOverflow = false,
Offset offset = Offset.zero,
}) : super(
pageBuilder: (BuildContext buildContext, Animation<double> animation,
Animation<double> secondaryAnimation) {
final Widget pageChild = Builder(builder: builder);
Widget dialog = Builder(
builder: (BuildContext context) {
final MediaQueryData mediaQuery = MediaQuery.of(context);
return CustomSingleChildLayout(
delegate: _FollowerDialogRouteLayout(
followerAlignment,
position,
Directionality.of(context),
mediaQuery.padding.top,
mediaQuery.padding.bottom,
offset,
avoidOverflow,
),
child: pageChild,
);
},
);
dialog = themes?.wrap(dialog) ?? dialog;
if (useSafeArea) {
dialog = SafeArea(child: dialog);
}
return dialog;
},
barrierDismissible: barrierDismissible,
barrierColor: barrierColor,
barrierLabel: barrierLabel ??
MaterialLocalizations.of(context).modalBarrierDismissLabel,
transitionDuration: duration ?? const Duration(milliseconds: 200),
transitionBuilder:
transitionsBuilder ?? _buildMaterialDialogTransitions,
settings: settings,
);