Flutter:如何为特定的过渡禁用 Hero 动画

Flutter: How to disable Hero animations for a specific transition

因为我在不同的上下文中重复使用相同的组件,不需要的 Hero 动画显示在错误的过渡中,我的应用程序看起来非常有问题。

这发生在一个相当普通的项目中,使用 MaterialApppushNamed 进行导航。

如何在特定的过渡中启用或禁用这些动画?

要以编程方式禁用 Hero 动画,flutter 具有 HeroMode 小部件

你必须用 HeroMode 包装你的 Hero 并将布尔值传递给 enabled: 参数

HeroMode(
  child: Hero(
  tag: "my-hero",
  ),
  enabled: false, // Your condition here
)