在不启动动画的情况下从 ValueAnimator 获取动画值

get animated value from ValueAnimator without starting the animation

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

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

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


我想要的一个简单例子

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

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

现在这是一个简单的例子,我该怎么做颜色?

您写的似乎不完全是关于动画的,而是关于插值的。要像您描述的那样插入颜色值,您可以使用 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);