关于flutter动画的一个问题

发布于 2022-09-12 13:09:36 字数 499 浏览 10 评论 0

假设要实现一个这样的动画:
image

看网上的很多教程都是不同属性动画值的例子,要是这种一个值在一个动画中发生了一种以上变化的情况应该怎么写?

opacity = Tween(begin: 0.0, end: 1.0)
  .animate(CurvedAnimation(
    parent: aniamtionController,
    curve: Interval(0.0, 1.0, curve: Curves.ease)
  ));
  
width = Tween(begin: 100, end: 130)
  .animate(CurvedAnimation(
    parent: aniamtionController,
    curve: Interval(0.0, 0.5, curve: Curves.ease)
  ));

// 缺少了width的后半段动画

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

遥远的绿洲 2022-09-19 13:09:36

找到了,使用TweenSequence部件,可以创建顺序动画。

width = TweenSequence([
  TweenSequenceItem(tween: Tween(begin: 100, end: 130), weight: 1),
  TweenSequenceItem(tween: Tween(begin: 130, end: 100), weight: 1),
]).animate(animationController);
柠檬色的秋千 2022-09-19 13:09:36

AnimatedBuilder的builer函数也可以做逻辑判断,增加一个动画值也可以的,当高度大于300后,可以用另一个高度动画的值。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文