首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android -如何为随机数添加动画?

Android -如何为随机数添加动画?
EN

Stack Overflow用户
提问于 2018-09-10 09:35:49
回答 1查看 934关注 0票数 1

我想用动画制作一个0-9的随机数。我试着和ValueAnimator一起使用,但是没有成功。

下面是我没有使用ValueAnimator (Works)的代码:

代码语言:javascript
运行
复制
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无法工作(不工作)的情况:

代码语言:javascript
运行
复制
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

EN

回答 1

Stack Overflow用户

发布于 2018-09-10 13:13:13

此代码将每隔1秒生成一个介于9和0之间的随机数。

代码语言:javascript
运行
复制
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);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52250008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档