41 lines
1.1 KiB
Dart
41 lines
1.1 KiB
Dart
import 'package:flutter/material.dart';
|
|
|
|
/// A dialog page with Material entrance and exit animations, modal barrier color,
|
|
/// and modal barrier behavior (dialog is dismissible with a tap on the barrier).
|
|
class DialogPage<T> extends Page<T> {
|
|
final Offset? anchorPoint;
|
|
final Color? barrierColor;
|
|
final bool barrierDismissible;
|
|
final String? barrierLabel;
|
|
final bool useSafeArea;
|
|
final CapturedThemes? themes;
|
|
final WidgetBuilder builder;
|
|
|
|
const DialogPage({
|
|
required this.builder,
|
|
this.anchorPoint,
|
|
this.barrierColor = Colors.black54,
|
|
this.barrierDismissible = true,
|
|
this.barrierLabel,
|
|
this.useSafeArea = true,
|
|
this.themes,
|
|
super.key,
|
|
super.name,
|
|
super.arguments,
|
|
super.restorationId,
|
|
});
|
|
|
|
@override
|
|
Route<T> createRoute(BuildContext context) => DialogRoute<T>(
|
|
context: context,
|
|
settings: this,
|
|
builder: builder,
|
|
anchorPoint: anchorPoint,
|
|
barrierColor: barrierColor,
|
|
barrierDismissible: barrierDismissible,
|
|
barrierLabel: barrierLabel,
|
|
useSafeArea: useSafeArea,
|
|
themes: themes,
|
|
);
|
|
}
|