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