2010-11-17 13 views

Respuesta

8

Añadir un Animation.AnimationListener a la Animation través setAnimationListener(). En onAnimationEnd() del oyente, llame al setVisibility(View.INVISIBLE) en el ImageView.

+0

No es la mejor solución. Vea la respuesta de Chris. –

+1

@ClassStacker: le invitamos a su opinión. 'setFillAfter()' rara vez es la respuesta correcta, porque realmente no funciona de la manera que uno espera (por ejemplo, 'setFillAfter()' en una 'TranslateAnimation' hace que los eventos táctiles solo funcionen en la * antigua * ubicación). Para una animación alfa en una IU completamente estática, puede ser sobrevivible, pero si algo cambia mucho en esa IU, no me sorprendería en lo más mínimo ver que el retorno alfa a su valor original. En Android 3.0+, puedes simplemente establecer la propiedad alfa del widget, por supuesto. – CommonsWare

+0

Veo; No estaba al tanto del problema 'TranslateAnimation'. Bueno para konw! Genial, proporcionó esta motivación para su solución. –

16

configuración fillEnabled and fillAfter a verdadero siempre me funciona.

anim = new AlphaAnimation(0.3f, 1.0f); 
anim.setDuration(500); 
anim.setFillEnabled(true); 
anim.setFillAfter(true); 
<view>.startAnimation(anim); 
+0

Yo en segundo lugar. También se puede lograr en XML solo. –

+0

¡agradable! Gracias hermano. :) –

Cuestiones relacionadas