我正在爲Android進行測驗,我希望有限的時間來回答每個問題。所以我想在從5到0(秒)倒數的答案下顯示一個ProgressBar。當它達到零時,我想要做一些事情。我有測驗和一切工作,我只是想添加ProgressBar。Android ProgressBar倒計時
在此先感謝!
我正在爲Android進行測驗,我希望有限的時間來回答每個問題。所以我想在從5到0(秒)倒數的答案下顯示一個ProgressBar。當它達到零時,我想要做一些事情。我有測驗和一切工作,我只是想添加ProgressBar。Android ProgressBar倒計時
在此先感謝!
你可以在android中使用倒數計時器。
下面是一個例子,你可以參考Click Here
您可以在活動使用下面進度。
<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
象下面這樣的活動代碼。
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
動畫的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();
這是有道理的 – John 2015-06-08 13:04:20
無需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();
是否有進度的工作?因爲這就是我想要顯示它的方式。 – simtaxman 2012-04-20 07:05:28
是否要在xml佈局上顯示它,我的意思是說你不想彈出右鍵進度。 – Herry 2012-04-20 07:09:35
奧基謝謝你! – simtaxman 2012-04-20 07:14:23