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);
}
});
这应该会给您想要的结果。您可以更改插值器以获得稍微不同的效果。
很简单,我正在寻找一个 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);
}
});
这应该会给您想要的结果。您可以更改插值器以获得稍微不同的效果。