1

我正在尝试在我的应用程序中制作一个时间进度条以显示 35 秒

我向它添加了一个倒数计时器,但问题是它每秒都会更改值,但我希望进度条能够顺利更改

这是我的代码:

mCountDownTimer=new CountDownTimer(35000,1000) {

    @Override
    public void onTick(long millisUntilFinished) {
        i--;
        mProgressBar.setProgress(i);
    }
    @Override
    public void onFinish() {
        i--;
        mProgressBar.setProgress(i);
        wrongAnswer(false);
    }
};

我尝试使用动画,但这对我来说有点困难,我不知道该怎么做。

有没有办法这样做并以正确的方式制作平滑的进度条?

编辑: 我将值减小countDownInterval到 40ms ,但现在它在不同的设备上表现得很奇怪。虽然计时器没问题并以 17 毫秒结束,但进度条的行为不同,有时会在中间结束,有时会在完成之前结束……这可能是progressbar因为没有足够的时间每 40 毫秒更改一次进度,所以我的问题发生了?

4

1 回答 1

1

您是否尝试将countDownInterval计时器构造函数的字段设置为不是 1000 毫秒的值?尝试更小的数字以onTick()更频繁地调用该方法。

于 2016-07-27T15:47:57.693 回答