水平プログレスバーを秒に依存させる方法を知りたいです。たとえば、進行状況バーに 0 秒で 0% から開始し、60 秒後に 100% に到達するコードを記述する必要がありますか?
再開 秒だけに依存し、他には何も依存しない水平の進行状況バーを作成したいと思います。
水平プログレスバーを秒に依存させる方法を知りたいです。たとえば、進行状況バーに 0 秒で 0% から開始し、60 秒後に 100% に到達するコードを記述する必要がありますか?
再開 秒だけに依存し、他には何も依存しない水平の進行状況バーを作成したいと思います。
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);