animationRoute static method
PageRouteBuilder
animationRoute({
- required AnimatedPageBuilder animatedBuilder,
- required String routeName,
- Map? params,
- Duration transitionDuration = const Duration(milliseconds: 200),
- bool opaque = true,
- bool barrierDismissible = false,
- Color? barrierColor,
- String? barrierLabel,
- bool maintainState = true,
- bool fullscreenDialog = false,
用户自定义flutter页面转场动画
Implementation
static PageRouteBuilder animationRoute({
required AnimatedPageBuilder animatedBuilder,
required String routeName,
Map? params,
Duration transitionDuration = const Duration(milliseconds: 200),
bool opaque = true,
bool barrierDismissible = false,
Color? barrierColor,
String? barrierLabel,
bool maintainState = true,
bool fullscreenDialog = false,
}) {
RouteSettings settings = RouteSettings(name: routeName, arguments: params);
PageRouteBuilder pageRoute = PageRouteBuilder<dynamic>(
settings: settings,
transitionDuration: transitionDuration,
opaque: opaque,
barrierColor: barrierColor,
barrierDismissible: barrierDismissible,
barrierLabel: barrierLabel,
fullscreenDialog: fullscreenDialog,
maintainState: maintainState,
pageBuilder: (BuildContext context, Animation<double> animation,
Animation<double> secondaryAnimation) {
DStackWidgetBuilder stackWidgetBuilder =
DStack.instance.pageBuilder(routeName);
return animatedBuilder(
context, animation, secondaryAnimation, stackWidgetBuilder(params));
},
);
return pageRoute;
}