2011-05-05 20 views
5


Aquí hay un código simple para animar la pantalla webview. Pero el problema es que la pantalla se desplaza antes de que la animación tenga lugar ... pero necesito aplicar la animación para la pantalla actual ... ¿cómo puedo solucionar esto?Cómo encontrar la animación se terminó de jugar en Android

aquí es mi pieza de código

if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) { 

    mWebView.startAnimation(AnimationUtils.loadAnimation(context, R.anim.page_slide_left_in)); 
    mWebView.startAnimation(AnimationUtils.loadAnimation(context,R.anim.page_slide_left_out)); 

    mWebView.scrollBy(mWebView.getWidth(),0); 
} 

Respuesta

5

La clase android.view.animation.Animation (devuelto por AnimationUtils.loadAnimation ha llamado una interfaz anidada AnimationListener que se puede utilizar para determinar cuando una animación ha completado. Específicamente, usted estaría interesado en aplicación del método de la interfaz de escucha onAnimationEnd.

Obviamente, también se tendría que llamar setAnimationListener en el Animation instancia devuelta por loadAnimation.

+0

@vnshetty También existe la opción de anular el método 'View' class '' onAnimationEnd', como se describe en [esta respuesta] (http://stackoverflow.com/questions/4750939/android-animation-is-not-finished -en-onanimationend/5110476 # 5110476). Personalmente, solo he usado el método en mi respuesta para detectar el final de una animación, por lo que no conozco ningún otro método sin tener que ir a buscarlo. – slyfox

Cuestiones relacionadas