在我的flutter应用程序中路由到新页面的过程中,我希望旧页面(从我要转到新页面的位置)向左滑动以显示其下的新页面。当前,在默认情况下,新页面会滑到旧页面上,而旧页面不会移动。 解决动画/翻译旧页面:Flutter Transition Exit 或
class MyCustomPageRoute extends MaterialPageRoute {
final Widget previousPage;
MyCustomPageRoute({this.previousPage, WidgetBuilder builder, RouteSettings settings}) : super(builder: builder, settings: settings);
@override
Widget buildTransitions(BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation, Widget currentPage) {
Animation<Offset> _slideAnimationPage1 = Tween<Offset>(begin: Offset(0.0, 0.0), end: Offset(-1.0, 0.0)).animate(animation);
Animation<Offset> _slideAnimationPage2 = Tween<Offset>(begin: Offset(1.0, 0.0), end: Offset(0.0, 0.0)).animate(animation);
return Stack(
children: <Widget>[
SlideTransition(position: _slideAnimationPage1, child: previousPage),
SlideTransition(position: _slideAnimationPage2, child: currentPage),
],
);
}
}
使用方式:
Navigator.push(context, MyCustomPageRoute(previousPage: this, builder: (context) => Page2()))
但是我不希望新页面做任何形式的动画,而只是在旧页面滑开时从下面露出。