programacion - Cuenta regresiva de Android
manual de android en pdf (3)
Podría usar un ObjectAnimator
para animar el progreso de la ObjectAnimator
de 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();
Estoy haciendo una prueba para Android y quiero un tiempo limitado para responder a todas las preguntas. Así que quiero mostrar una barra de progreso debajo de las respuestas que cuenta atrás, por ejemplo, de 5 a 0 (segundos). Y cuando llegue a cero quiero hacer algunas cosas. Tengo el cuestionario y todo funciona, solo quiero agregar la barra de progreso.
¡Gracias por adelantado!
Puedes usar el temporizador de cuenta atrás en Android.
Aquí hay un ejemplo que puede recomendar Haga clic aquí
Puedes usarlo debajo de la barra de progreso en tu actividad.
<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"
/>
Use el código CountDownTimer
Like Below en su actividad.
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();
No hay necesidad de declaración 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();