【问题标题】:Flutter: Fade widgets in after navigationFlutter:导航后淡入小部件
【发布时间】:2020-05-22 09:56:50
【问题描述】:

考虑两条路线,A 和 B。从 A 导航到 B 后,如何让 B 中的小部件逐渐淡入(从不透明度 0 变为 1)?

【问题讨论】:

  • 您需要使用AnimatedOpacityAnimationController

标签: flutter flutter-animation


【解决方案1】:

您正在寻找的似乎是具有自定义转换的 PageRouteBuilder,如下所示:

return Navigator.of(context).push(PageRouteBuilder(
  pageBuilder: (context, animation, secondaryAnimation) {
    return HomePage();
  },
  transitionDuration: Duration(milliseconds: 500),
  transitionsBuilder: (context, animation, secondaryAnimation, child) {
    return FadeTransition(
      opacity: animation,
      child: child,
    );
  }
));

【讨论】:

  • 感谢您的回答!如果我从路由 B 弹出到 A 并希望 A 中的小部件淡入,代码会是什么样子?
  • 我不确定我是否理解您的问题。你是说反向动画吗?我给你的代码在两个方向都有效,它会完全一样地消失。
  • 你是说你的意思是你不希望它发生在视图转换上,但实际上一旦你移动到下一个视图,然后小部件才开始淡入?跨度>
  • 我问的是反向动画。它确实会褪色。
猜你喜欢
  • 2020-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-24
  • 1970-01-01
  • 2021-06-19
  • 2018-10-13
  • 2022-07-10
相关资源
最近更新 更多