动态更改速度 countDownTimer

Change speed countDownTimer dynamic

我得到了这段代码,我想将 setText 的速度更改为我的 TextView。我想快点开始,但当结束即将到来时,请放慢文字的变化。

            new CountDownTimer(10000, timeToChange) {

                public void onTick(long millisUntilFinished) {

                    if (millisUntilFinished < 7000){
                        timeToChange = 500;
                        Log.d("changed", "time 7000 changed to : " + timeToChange);
                    } else if (millisUntilFinished < 5000){
                        timeToChange = 1000;
                        Log.d("changed", "time 5000 changed to : " + timeToChange);
                    } else if (millisUntilFinished < 3000){
                        timeToChange = 1500;
                        Log.d("changed", "time 3000 changed to : " + timeToChange);
                    }

                    if (controlador){
                        mTextField.setText("WORD 1");
                        controlador = false;
                    } else {
                        mTextField.setText("WORD2");
                        controlador = true;
                    }

                }

                public void onFinish() {
                    mTextField.setText("done!");
                    btnTime.setEnabled(true);
                }
            }.start();

我认为这是行不通的。

有什么办法吗?

谢谢!!

Android one 开始创建您自己的 CountDownTimer 并添加一个 set 方法以更改变量 mCountdownInterval。

您无法在倒数计时器启动后自定义持续时间 你必须使用 Thread 来完成你的工作。

在线程中你可以使用

Thread.sleep(your_duration);

所以通过这种方式你可以处理速度。

我认为您应该创建一个取消当前 CountDownTimer 的函数,并使用您想要的新 timeToChange 创建一个新函数 :)。

为此,您可以尝试将 CountDownTimer 分配给一个变量以简化操作。