Android平滑计数器增量

时间:2015-04-20 15:21:46

标签: android multithreading animation interpolation numberpicker

很简单,我正在寻找一个Android小部件,它允许我以编程方式设置一个整数值并让它平滑地增加自己以实现目标。例如,值为10,我更新为25,我希望它快速将每个数字从10到25拉链而不是只跳到25.这对于美学来说很简单。

我猜测一个分离的线程/插值器,大约300毫秒,以及TextView上的setText调用?也许有一种更聪明的方法可以做到这一点,但大多数情况下,我只是感到惊讶,我无法找到它。

有人看到过这些问题吗?

1 个答案:

答案 0 :(得分:3)

如果您有TextView,可以使用ValueAnimator,例如:

ValueAnimator va = ValueAnimator.ofInt(10, 25);
va.setInterpolator(new AccelerateDecelerateInterpolator());
va.setDuration(300);
va.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {

    public void onAnimationUpdate(ValueAnimator animation) {
        Integer value = (Integer) animation.getAnimatedValue();
        textView.setText(value);
    }
});

这可以为您提供所需的结果。您可以更改内插器以获得稍微不同的效果。