我的屏幕有 4 个搜索栏(如下图所示)。如果用户移动 B、C 或 D,我计算三者的平均值并将 A 的进度设置为平均值。这是最容易的部分。我想做的是为进度条 A 设置动画,使其不会一次性跳跃(例如从 25-75 )。
为 A 制作动画的推荐方法是什么?我得到了一个简单的动画,但我每 50 毫秒调用一个 TimerTask 来将 A 增加或减少一个单位值,直到到达所需的位置。但其效率并不高。
注意:我有一个自定义 Seekbar 对象,使用它创建了eekBar 的 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();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)