如何更改 PopScreen 动画的持续时间?

How do I change the duration of PopScreen Animation?

我第一次尝试为 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 动画遵循该持续时间,但 Pop 动画没有。如何确保我的 Pop 动画遵循相同的持续时间?

您必须设置将要使用的 reverseTransitionDuration 或 pop