ANDROID – cómo comprobar si la animación se está ejecutando antes de comenzar la nueva animación

Ok, así que tengo una actividad donde tengo varios ImageViews y cuando se hace clic en el ImageView se desvanecen y se desvanecen de nuevo pulg Lo que estoy tratando de averiguar es cómo puedo hacer clic en un ImageView y comenzar la animación y cuando hago clic Una segunda y la animación sigue en ejecución ignorará la segunda. Creo que necesito hacer algo con animationListener pero no puedo averiguar cómo usarlo para comprobar si la animación se está ejecutando o no antes de iniciar una nueva animación. Podría haber jurado que vi un ejemplo que lo hizo pero he estado buscando días y ya no puedo encontrarlo, espero que alguien pueda ayudar aquí ….. abajo está el código para mi animación:

// Create Animation protected void fadeAnimation() { tempImg.startAnimation(fadeout); //Allow animation to finish mHandler.postDelayed(new Runnable() { public void run() { tempImg.startAnimation(fadein); } }, 1000); } 

Estoy asumiendo que ambos fadeout y fadein son objetos de Animation .

Utilice fadeout.hasEnded() para comprobar si la primera ha finalizado antes de iniciar la segunda.

Para obtener más detalles sobre la clase de Animation , consulte aquí: http://developer.android.com/reference/android/view/animation/Animation.html

En lugar de tener que realizar un bucle en otro hilo para comprobar si una animación ha terminado, podría utilizar un oyente de animación, haciendo algo como esto:

 // Create Animation protected void fadeAnimation() { fadeout.setAnimationListener(new Animation.AnimationListener(){ @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { tempImg.startAnimation(fadein); } @Override public void onAnimationRepeat(Animation animation) { } }; tempImg.startAnimation(fadeout); } 

Con este tipo de solución usted no necesitaría comprobar activamente si una animación ha terminado y tiempo con la duración de la animación anterior.

El onAnimationEnd (Animación) se activa justo después de que la animación ha terminado. Esto también resuelve el problema de los usuarios con las opciones de desarrollador "on" y la velocidad de animación establecida en "off".

  • Android Frame by Frame Problema de animación en elementos en un CursorAdapter
  • Animación de rotación de Android con ScrollView
  • Hacer una animación de fragmentos de inserción
  • Imagen giratoria. Animación de la lista o rotación animada? (Androide)
  • Animación de escala de Android en la vista
  • Mover un ImageView a diferentes posiciones de forma animada en Android
  • Transición de animación entre actividades mediante FLAG_ACTIVITY_CLEAR_TOP
  • Animar el elemento ListView a la papelera
  • ¿Cómo escalar View / ViewGroup - animar el diseño de una manera adecuada?
  • ViewPager anidado en ViewPager
  • ¿Cómo mostrar un cuadro de diálogo en Android con el efecto revelador del diseño de material?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.