首页 > 解决方案 > 让进度条在我指定的时间段内运行

问题描述

假设我希望进度条根据 if 语句运行 2 分钟,然后在另一个中我希望它重新启动并运行 1 分钟。我怎么做?我一直在尝试使用倒数计时器,但我一直在搞砸。

         private void startTimer() {
            millisInFuture = mTimeLeftInMillis;
            mCountDownTimer = new CountDownTimer(mTimeLeftInMillis, 1000) {
                @Override
                public void onTick(long millisUntilFinished) {
                    mTimeLeftInMillis = millisUntilFinished;
                    updateCountDownText();
                    final long millisPassed = millisInFuture - mTimeLeftInMillis;
                    progress = (int) (millisPassed * 100 / millisInFuture);
                    pb.setProgress(progress);
                    pb2.setProgress(0);
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////
                    //Key: 60 sec
                    if (millisInFuture == 480000) {
                        if (millisPassed <= 60000 || (millisPassed > 180000 && millisPassed <= 240000) || (millisPassed > 300000 && millisPassed <= 360000 || (millisPassed > 420000 && millisPassed <= 480000))) {
                            Animation animation = AnimationUtils.loadAnimation(tool1mode1.this, R.anim.fade_in);
                            stepupimage.setAnimation(animation);
                           /////HERE
                        } else if ((millisPassed > 60000 && millisPassed <= 180000) || (millisPassed > 240000 && millisPassed <= 300000) || (millisPassed > 360000 && millisPassed <= 420000)) {
                            Animation animation = AnimationUtils.loadAnimation(tool1mode1.this, R.anim.fade_in);
                            stepdownimage.setAnimation(animation);
                           /////HERE
                        }
                    }

我评论为“这里”的部分是我希望进度条“pb2”分别运行 1 分钟和 2 分钟的地方。

标签: timerprogress-bar

解决方案


推荐阅读