Android ProgressBar倒计时

我正在为Android做一个测验,我想要有限的时间来回答每一个问题。 所以我想在从5到0(秒)倒数的答案下显示一个ProgressBar。 当它达到零时,我想要做一些东西。 我有测验和一切工作,我只是想添加ProgressBar。

提前致谢!

Solutions Collecting From Web of "Android ProgressBar倒计时"

你可以在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(); 

您可以使用ObjectAnimator来animationProgressBar

 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(); 

不需要XML声明

 ProgressDialog TempDialog; CountDownTimer CDT; int i =5; TempDialog = new ProgressDialog(Your_Class_Name.this); TempDialog.setMessage("Please wait..."); TempDialog.setCancelable(false); TempDialog.setProgress(i); TempDialog.show(); CDT = new CountDownTimer(5000, 1000) { public void onTick(long millisUntilFinished) { TempDialog.setMessage("Please wait.." + i + " sec"); i--; } public void onFinish() { TempDialog.dismiss(); //Your Code ... } }.start();