怎么做yoyo动画扑?

时间:2018-04-02 01:23:09

标签: dart flutter

我知道repeat()上有AnimationController方法,但它始终从头开始。

是否有内置的方法来执行一个前进和一个反向动画,并重复一遍?

谢谢

2 个答案:

答案 0 :(得分:9)

您可以使用addStatusListener收听动画的状态。并在动画结束时反转它。

final AnimationController c;
...
c.addStatusListener((status) {
  if (status == AnimationStatus.completed) {
    c.reverse();
  }
  else if (status == AnimationStatus.dismissed) {
    c.forward();
  }
});

答案 1 :(得分:1)

repeat函数支持reverse可选的命名参数,因此您可以编写

animationController.repeat(reverse: true);