Android 平滑计数器递增

Android smooth counter incrementation

很简单,我正在寻找一个 Android 小部件,它可以让我以编程方式设置一个整数值,并让它平稳地自行递增以到达那里。例如,值是 10,我更新为 25,我希望它能快速将每个数字从 10 压缩到 25,而不是只跳到 25。这很简单美观。

我猜是分拆 thread/interpolator,大约 300 毫秒,以及对 TextView 的 setText 调用?也许有更聪明的方法,但大多数情况下我很惊讶我找不到。

有人看到类似的东西吗?

如果您有 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);
    }
});

这应该会给您想要的结果。您可以更改插值器以获得稍微不同的效果。