5

水平プログレスバーを秒に依存させる方法を知りたいです。たとえば、進行状況バーに 0 秒で 0% から開始し、60 秒後に 100% に到達するコードを記述する必要がありますか?

再開 秒だけに依存し、他には何も依存しない水平の進行状況バーを作成したいと思います。

4

3 に答える 3

10
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 ずつ増やします。これがより明確になることを願っています。

于 2011-06-16T19:45:11.833 に答える
1

すでに 60 までカウントしているコードがあると仮定します。それに基づいて:

int time; // 0-60 seconds
ProgressBar bar = (ProgressBar) findViewById(R.id.progressBar);
bar.setProgress((time / 60.0) * 100);
于 2011-06-16T19:50:47.723 に答える