40

私は Android 用のクイズを作っていますが、すべての質問に答えるために限られた時間が必要です。そのため、回答の下に、たとえば 5 から 0 (秒) までカウントダウンする ProgressBar を表示したいと考えています。そして、それがゼロになったら、私は何かをしたいと思います。クイズがあり、すべてが機能しています。ProgressBar を追加したいだけです。

前もって感謝します!

4

3 に答える 3

59

Android でカウントダウン タイマーを使用できます。

ここにあなたが参照できる一例がありますここをクリック

Activity の ProgressBar の下で使用できます。

   <ProgressBar 
    android:id="@+id/progressbar"
    style="@android:style/Widget.ProgressBar.Horizontal"
    android:max="100"
    android:progress="0"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_above="@+id/bottom_header_relativelayout"
    />

CountDownTimerアクティビティで Like below コードを使用します。

ProgressBar mProgressBar;
CountDownTimer mCountDownTimer;
int i=0;

mProgressBar=(ProgressBar)findViewById(R.id.progressbar);
mProgressBar.setProgress(i);
   mCountDownTimer=new CountDownTimer(5000,1000) {

        @Override
        public void onTick(long millisUntilFinished) {
            Log.v("Log_tag", "Tick of Progress"+ i+ millisUntilFinished);
            i++;
            mProgressBar.setProgress((int)i*100/(5000/1000));

        }

        @Override
        public void onFinish() {
        //Do what you want 
            i++;
            mProgressBar.setProgress(100);
        }
    };
    mCountDownTimer.start();
于 2012-04-20T07:01:34.163 に答える
43

ObjectAnimatorの進行状況をアニメーション化するために を使用できますProgressBar

ObjectAnimator animation = ObjectAnimator.ofInt(pb, "progress", 0, 100);
animation.setDuration(5000);
animation.setInterpolator(new DecelerateInterpolator());
animation.addListener(new Animator.AnimatorListener() {
    @Override
    public void onAnimationStart(Animator animator) { }

    @Override
    public void onAnimationEnd(Animator animator) {
        //do something when the countdown is complete
    }

    @Override
    public void onAnimationCancel(Animator animator) { }

    @Override
    public void onAnimationRepeat(Animator animator) { }
});
animation.start();
于 2015-04-15T15:27:11.523 に答える