1

我试图做一个时间进度条在我的应用程序,以显示35秒Android的流畅计时器进度

我添加了一个倒数计时器到它,但问题是,它改变了价值观上的每一秒,但我想进度条更改顺利

这里是我的代码:

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值降低到40毫秒,但现在它作用于不同的设备怪异。虽然计时器是好的,并在17ms结束,进度条行为不同,有时结束在中间,有些时候在完成前... 是有可能progressbar没有足够的时间来改变每40毫秒的进展,所以我的问题发生?

回答

1

您是否尝试过将计时器constructorcountDownInterval字段设置为非1000ms的值?尝试更小的号码以更频繁地调用onTick()方法。

+0

这对我有效,但我问的是,一个正确的方式来实现我所需要的?还有另外一个问题,难道你不知道我该怎么做才能改变进度条的形状? – rkarami

+0

我将'countDownInterval'减少到了40ms,但进度条在某些设备中表现不同!我认为问题在于计时器因为小的间隔时间间隔而变得很奇怪,并且没有时间更新进度条,因此速度和问题都会发生。我的进度条有时会在进度的中间结束,但是计时器完成了! – rkarami