studio programacion herramientas fundamentos con avanzado aplicaciones android progress-bar countdown

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