2011-06-16 38 views

回答

7
bar = (ProgressBar) findViewById(R.id.progress); 
    bar.setProgress(total); 
    int oneMin= 1 * 60 * 1000; // 1 minute in milli seconds 

    /** CountDownTimer starts with 1 minutes and every onTick is 1 second */ 
    cdt = new CountDownTimer(oneMin, 1000) { 

     public void onTick(long millisUntilFinished) { 

      total = (int) ((timePassed/ 60) * 100); 
      bar.setProgress(total); 
     } 

     public void onFinish() { 
      // DO something when 1 minute is up 
     } 
    }.start(); 

我編輯了代碼。現在看。所以這是如何工作的。首先你在進度條上設置一個總數,你的情況是60.然後你需要計算從開始到現在已經過了多少時間的百分比,並且你用timePassed/60 * 100獲得並將其轉換爲int。所以在每次打勾時,您都會將進度增加1/100。 希望這個更清楚。

+0

什麼是變量dTotal? – Ricardo 2011-06-16 20:06:33

+3

什麼是變量timePassed? – Sundeep 2014-07-14 08:58:13

1

我假設你有一些代碼已經數到60了。基於此:

int time; // 0-60 seconds 
ProgressBar bar = (ProgressBar) findViewById(R.id.progressBar); 
bar.setProgress((time/60.0) * 100);