Android: ¿Cómo hacer la barra de progreso horizontal con Interpolator?

Tengo una barra de progreso vista como esto:

<ProgressBar android:id="@+id/progress_bar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:max="100"/> 

Dura 3 segundos, así que ¿cómo usar el interpolador para hacer la actualización sin problemas?

 ObjectAnimator animation = ObjectAnimator.ofInt(what_is_in_here?); animation.setDuration(3000); // second animation.setInterpolator(new DecelerateInterpolator()); animation.start(); 

Realmente aprecio tu ayuda. Muchas gracias por adelantado.

Descubrí la solución:

 progressBar = (ProgressBar) findViewById(R.id.progress_bar); ObjectAnimator animation = ObjectAnimator.ofInt(progressBar, "progress", 100, 0); animation.setDuration(3500); // 3.5 second animation.setInterpolator(new DecelerateInterpolator()); animation.start(); 

Aquí está una explicación detallada:

Crear un objeto de animación:

 ObjectAnimator animation = ObjectAnimator.ofInt(progressBar, "progress", 100, 0); 
  • ProgressBar: referencia al ProgressBar en el diseño;
  • "Progreso" : el nombre de la propiedad a animar;
  • 100: punto de partida de la animación;
  • 0: punto final de la animación.

Y establecer una interpolación:

 animation.setInterpolator(new DecelerateInterpolator()); 

Es posible utilizar diferentes interpoladores para nuestra animación, como por ejemplo:

  • LinearInterpolator: donde la tasa de cambio es constante.
  • DecelerateInterpolator: donde la tasa de cambio comienza rápidamente y luego desacelera.

  • AccelerateInterpolator: donde la tasa de cambio comienza lentamente y luego se acelera.

  • OvershootInterpolator: donde el cambio se desplaza hacia adelante y sobrepasa el último valor y luego regresa.

  • Para otros interpoladores, verifique la interfaz android.view.animation.Interpolator.
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.