要为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/Ajv 著作权归作者所有。请勿转载和采集!

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