Cómo cancelar una animación, pero no para terminarla?

Tengo un TranslateAnimation en mi clase. La animación se inicia automáticamente.

Puse el botón que si se hace clic, la animación se cancelará ( animation.cancel(); ).

También establezco un AnimationListener para mi clase. Si mi animación termina, comenzaré una nueva actividad (usted va al menú).

 public void onAnimationEnd(Animation animation) { startActivity(new Intent(Class.this, Class2.class)); } 

Mi aplicación se basa en que el usuario tiene que hacer clic en el botón antes de la animación termina. El problema es que animation.cancel(); se admite como el final de la animación.

¿Cómo cancelar la animación de la otra manera que no se contó como el final de la animación? ¿Es eso posible?

¡Gracias por adelantado!

animation.cancel () llama al detector de animaciones como describe la API :

Al cancelar una animación se invoca al detector de animación, si se establece, para notificar al final de la animación. Si cancela una animación manualmente, debe llamar a reset () antes de iniciar la animación de nuevo.

Si desea un comportamiento diferente en cancel () y onAnimationEnd (), sugeriría una variable booleana, que se puede establecer en el botón de clic, y onanimationend comprueba si es verdadera.

Una vez que la animación es cancelar, puede eliminar el oyente evitando así que onAnimationEnd sea ​​llamado:

 @Override public void onAnimationCancel(Animator animation) { animation.removeAllListeners(); } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.