【问题标题】:How do I change the duration of PopScreen Animation?如何更改 PopScreen 动画的持续时间?
【发布时间】:2020-10-24 12:11:19
【问题描述】:

我第一次尝试为 Navigation.push 实现自定义动画。这是我的代码:

onGenerateRoute: (routeSettings) {
        return PageRouteBuilder<dynamic>(
            settings: routeSettings,
            pageBuilder: (context, Animation<double> animation,
                Animation<double> secondaryAnimation) {
              switch (routeSettings.name) {
                case WelcomeScreen.id:
                  return WelcomeScreen();
                case LoginScreen.id:
                  return LoginScreen();
                case RegistrationScreen.id:
                  return RegistrationScreen();
                case HomeScreen.id:
                  return HomeScreen();
                default:
                  return null;
              }
            },
            transitionDuration: Duration(milliseconds: 200),
            transitionsBuilder: (context, Animation<double> animation,
                Animation<double> secondaryAnimation, Widget child) {
              animation =
                  CurvedAnimation(curve: Curves.easeOut, parent: animation);

              return SlideTransition(
                position: Tween(begin: Offset(1.0, 0.0), end: Offset(0.0, 0.0))
                    .animate(animation),
                child: child,
              );
            });
      },

问题是如果我将动画持续时间设置为例如。 2 秒 Push Animation 遵循该持续时间,但 Pop Animation 没有。如何确保我的 Pop Animation 遵循相同的持续时间?

【问题讨论】:

    标签: flutter flutter-animation


    【解决方案1】:

    您必须设置将使用的reverseTransitionDuration 或弹出

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-12
      • 2021-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多