是否可以在不启动动画的情况下从ValueAnimator
获取动画值?我确实有开始色和目标色。
我有一个PageTransformer
,我想根据页面位置设置背景色。所以我想在页面滑动时更改背景颜色。 (不是在页面滑动之后)
是否可以使用ValueAnimator
而不必花费动画的开销?
我想要的简单例子
假设开始值为0,目标值为100。动画持续时间为500ms。
当我经过53毫秒时,它应该输出(53/500)*(100)。
现在这是一个简单的示例,如何为一种颜色做呢?
答案 0 :(得分: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);