【问题标题】:Android - How to animate random numbers?Android - 如何为随机数设置动画?
【发布时间】:2019-02-14 10:17:29
【问题描述】:

我想用动画制作一个 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】:

    此代码将每 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);
    

    【讨论】:

    • 是的,但它会在 10 秒后自动重新生成,对吗?
    • 它会每隔一秒重新生成一个随机数。
    • 我只需要用动画生成一次。谢谢
    • 我想我没有完全理解,所以你想生成随机数,例如 2,然后 ValuAnimator 动画从 2 到 9?
    • 我想生成从 1 到 9 的随机数。但它们可以随机动画可能 3 秒。这就像一个骰子,但只有数字。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多