Flutter:如何禁用特定过渡的英雄动画

mig*_*rso 7 flutter flutter-animation flutter-navigation

因为我在不同的上下文中重复使用相同的组件,所以不需要的英雄动画显示在错误的过渡中,并且我的应用程序看起来非常故障。

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

如何在特定转换中启用或禁用这些动画?

小智 10

要以编程方式禁用 Hero 动画,flutter 有 HeroMode Widget

您必须用 HeroMode 包装您的 Hero 并将 bool 值传递给enabled:参数

HeroMode(
  child: Hero(
  tag: "my-hero",
  ),
  enabled: false, // Your condition here
)
Run Code Online (Sandbox Code Playgroud)