Android - 如何为随机数设置动画?

问题描述 投票:1回答:1

我想用动画制作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

android random numbers
1个回答
2
投票

此代码将每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);
© www.soinside.com 2019 - 2024. All rights reserved.