juega - empty dish android 8 español
Oyente de Animación de Android (3)
OnTouch
de un ImageView
Estoy comenzando un fade en la animación:
myImageView.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
v.startAnimation(fadeInAnimation);
Sé que es necesario que un oyente de animación sepa cuándo se completó la animación, pero cómo adjunto esto para poder ver que la animación acaba de completarse ... Quiero establecer la visibilidad de la vista después de la animación está hecho.
Gracias
Usando Kotlin
//OR using Code
val rotateAnimation = RotateAnimation(
0f, 359f,
Animation.RELATIVE_TO_SELF, 0.5f,
Animation.RELATIVE_TO_SELF, 0.5f
)
rotateAnimation.duration = 300
rotateAnimation.repeatCount = 2
//Either way you can add Listener like this
rotateAnimation.setAnimationListener(object : Animation.AnimationListener {
override fun onAnimationStart(animation: Animation?) {
}
override fun onAnimationRepeat(animation: Animation?) {
}
override fun onAnimationEnd(animation: Animation?) {
val rand = Random()
val ballHit = rand.nextInt(50) + 1
Toast.makeText(context, "ballHit : " + ballHit, Toast.LENGTH_SHORT).show()
}
})
ivBall.startAnimation(rotateAnimation)
Creo que necesitas esto
fadeInAnimation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
Si solo necesita una acción final, sería suficiente usar .withEndAction(Runnable)
fadeInAnimation.withEndAction(new Runnable() {
@Override
public void run() {
... do stuff
}
})