Flutter Transition-新页面显示在旧页面下面(高)

时间:2019-05-17 17:53:51

标签: flutter flutter-layout flutter-animation

在我的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()))

但是我不希望新页面做任何形式的动画,而只是在旧页面滑开时从下面露出。

0 个答案:

没有答案