使ColorTween立即向前结束并正常反向,而不会在颤动中改变控制器?

时间:2019-05-27 20:13:17

标签: flutter flutter-animation

我有以下代码:

Animation _colorTween = ColorTween(begin: Colors.black, end: Colors.white).animate(animation);

AnimatedBuilder(
  animation: _colorTween,
  builder: (_, _) => customBuilder(_colorTween.value),
),

变量animation来自另一个小部件,我根本无法更改它。我什至无法控制动画的前进和后退,因为这是由另一个内置小部件控制的。

所以我想知道是否可以在调用前转时使颜色立即变为Colors.white。相反,我可以使用默认行为。

非常感谢。

1 个答案:

答案 0 :(得分:1)

首先,我不会将您输入的动画命名为'_colorTween'。这只是一个动画,所以令人困惑!

但是,由于您已经在使用自定义生成器,因此可以在自定义生成函数中执行以下操作:

switch(_colorTween.status) {
case AnimationStatus.forward:
  return <Colors.white or something like it>
default:
  return <normal calculation>
}

尽管如果动画进行到一半,这会导致有些奇怪,然后改变方向。如果需要,您可以在其中放置更多逻辑来处理该问题。