我想知道如何使水平進度條取決於秒。例如,我必須寫入進度條的代碼在0秒時從0%開始,在60秒後達到100%?如何使水平進度條取決於Android中的秒數?
恢復我想製作一個水平進度條,只取決於秒,沒有別的。
我想知道如何使水平進度條取決於秒。例如,我必須寫入進度條的代碼在0秒時從0%開始,在60秒後達到100%?如何使水平進度條取決於Android中的秒數?
恢復我想製作一個水平進度條,只取決於秒,沒有別的。
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。 希望這個更清楚。
我假設你有一些代碼已經數到60了。基於此:
int time; // 0-60 seconds
ProgressBar bar = (ProgressBar) findViewById(R.id.progressBar);
bar.setProgress((time/60.0) * 100);
什麼是變量dTotal? – Ricardo 2011-06-16 20:06:33
什麼是變量timePassed? – Sundeep 2014-07-14 08:58:13