我有一个带有4个搜索条的屏幕(如下图所示)。如果用户移动b、c或d,我将计算三者的平均值,并将a的进度设置为平均值。那是容易的部分。我想做的是设置进度条A的动画,这样它就不会一次跳出(例如从25-75)。
推荐的动画制作方法是什么?我得到了一个简单的动画,但是我每50毫秒调用一个timertask来增加或减少一个单位值,直到我达到所需的位置。但效率不高。
注意:我有一个自定义的seekbar对象,我用它创建了seekbar的a,b,c&d。很抱歉我不能真正共享代码,但很乐意澄清任何问题。

最佳答案

我想太晚了。但我找到了一个方法来实现这个使用valueanimator。

ValueAnimator anim = ValueAnimator.ofInt(0, seekBar.getMax());
anim.setDuration(1000);
anim.addUpdateListener(new AnimatorUpdateListener() {
    @Override
    public void onAnimationUpdate(ValueAnimator animation) {
    int animProgress = (Integer) animation.getAnimatedValue();
    seekBar.setProgress(animProgress);
    }
});
anim.start();

07-28 02:01
查看更多