要为 Navigator.pushNamed 方法设置路由动画,可以使用 MaterialPageRoute 的构造函数。

例如,以下代码将为名为 '/second' 的路由设置一个从右侧滑入的动画:

Navigator.pushNamed(
  context,
  '/second',
  // Route settings
  arguments: {'id': 1},
  // Route animation
  pageBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation) {
    return SecondPage();
  },
  transitionsBuilder: (BuildContext context, Animation<double> animation, Animation<double> secondaryAnimation, Widget child) {
    return SlideTransition(
      position: Tween<Offset>(
        begin: const Offset(1, 0),
        end: Offset.zero,
      ).animate(animation),
      child: child,
    );
  },
);

在这个例子中,我们使用了 pageBuilder 参数来指定要跳转的页面,transitionsBuilder 参数用于指定动画效果。在这个例子中,我们使用 SlideTransition 来实现从右侧滑入的效果。

Flutter 路由动画:为 Navigator.pushNamed 设置动画效果

原文地址: https://www.cveoy.top/t/topic/lOrO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录