小编Gui*_*Ana的帖子

Flutter 过渡退出

在 Android API 上,我们可以使用

overridePendingTransition(int enterAnim, int exitAnim) 
Run Code Online (Sandbox Code Playgroud)

定义进入和退出转换。

如何在 Flutter 中做到这一点?

我已经实现了这段代码

class SlideLeftRoute extends PageRouteBuilder {
  final Widget enterWidget;
  SlideLeftRoute({this.enterWidget})
      : super(
      pageBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation) {
        return enterWidget;
      },
      transitionsBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation, Widget child) {
        return SlideTransition(
          position: new Tween<Offset>(
            begin: const Offset(1.0, 0.0),
            end: Offset.zero,
          ).animate(animation),
          child: child
        );
      },

  );
}
Run Code Online (Sandbox Code Playgroud)

但它只定义了输入转换。我如何定义退出转换?

更新

想象一下,当我执行时,我有两个屏幕(Screen1 和 Screen2)

 Navigator.push(
        context, SlideLeftRoute(enterWidget: Screen2()));
Run Code Online (Sandbox Code Playgroud)

我想将动画应用到 Screen1 和 Screen2 而不仅仅是 Screen2

例子

flutter flutter-animation

8
推荐指数
3
解决办法
7515
查看次数

标签 统计

flutter ×1

flutter-animation ×1