Android - 如何为随机数设置动画?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android - 如何为随机数设置动画?相关的知识,希望对你有一定的参考价值。
我想用动画制作0-9的随机数。我尝试使用ValueAnimator
,但没有运气。
这是我没有ValueAnimator
的代码(作品):
final int min = 0;
final int max = 9;
final int random = new Random().nextInt((max - min) + 1) + min;
randomSting = String.valueOf(random);
mNumberView.setText(randomSting);
这是与ValueAnimator
不起作用(不起作用):
animator = ValueAnimator.ofInt(0, 9);
final int min = 0;
final int max = 9;
final int random = new Random().nextInt((max - min) + 1) + min;
randomSting = String.valueOf(random);
cTimer = new CountDownTimer(3000, 1000) {
public void onTick(long millisUntilFinished) {
animator.setDuration(3000);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
public void onAnimationUpdate(ValueAnimator animation) {
mNumberView.setText(animation.getAnimatedValue().toString());
}
});
animator.start();
}
public void onFinish() {
animator.cancel();
mNumberView.setText(randomSting);
}
};
cTimer.start();
mNumberView
无法将文本设置为randomString
。
如果可能的话,用随机数制作数字动画师,而不是使用ValueAnimator
答案
此代码将每1秒生成9到0之间的随机数。
final int min = 0;
final int max = 9;
final int duration= 1000;
final Handler handler = new Handler();
final Runnable runnable = new Runnable() {
@Override
public void run() {
int random = new Random().nextInt(max - min + 1) + min;
handler.postDelayed(this,duration);
}
};
handler.post(runnable);
以上是关于Android - 如何为随机数设置动画?的主要内容,如果未能解决你的问题,请参考以下文章
如何为 Flutter SliverList 中的元素设置动画?