0

ValueAnimator是否可以在不启动动画的情况下获得动画价值?我确实有开始和目标颜色。

我有一个PageTransformer并且我想根据页面位置设置背景颜色。所以我想在页面滑动时更改背景颜色。(不是在页面滑动后)

是否可以在ValueAnimator没有启动动画开销的情况下使用?


我想要的一个简单的例子

假设起始值为 0,目标值为 100。动画持续时间为 500 毫秒。

当我通过 53 毫秒时,它应该输出 (53/500)*(100)。

现在这是一个简单的例子,我如何为颜色做呢?

4

1 回答 1

2

你似乎写的不是关于动画,而是关于插值。要像您描述的那样获得插值的颜色值,您可以使用ArgbEvaluator. 这几乎是动画师在内部所做的事情,您可以在页面滑动动画中使用它,而无需任何额外的动画师。

ArgbAnimator evaluator = new ArgbAnimator();
float fraction = 0.53f;    // value between 0.0f and 1.0f
int color1 = Color.RED, color2 = Color.GREEN;
int interpolatedColor = evaluator.evaluate(fraction, color1, color2);
于 2018-12-05T20:46:21.917 回答