我想用动画制作一个0-9的随机数。我试着和ValueAnimator一起使用,但是没有成功。
下面是我没有使用ValueAnimator (Works)的代码:
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
发布于 2018-09-10 13:13:13
此代码将每隔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);https://stackoverflow.com/questions/52250008
复制相似问题