代码之家  ›  专栏  ›  技术社区  ›  M.kazem Akhgary

从ValueAnimator获取动画值而不启动动画

  •  0
  • M.kazem Akhgary  · 技术社区  · 7 年前

    是否可以从 ValueAnimator 没有启动动画?我有开始和目标颜色。

    我有一个 PageTransformer 我想根据页面位置设置背景色。所以我想在页面幻灯片时更改背景色。(不在页面幻灯片之后)

    可以用吗 赋值动画 没有启动动画的开销?


    我想要什么的一个简单例子

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

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

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

    1 回复  |  直到 7 年前
        1
  •  2
  •   Zielony    7 年前

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