2010-11-17 22 views

Répondre

8

Ajouter un Animation.AnimationListener à la Animation via setAnimationListener(). Dans onAnimationEnd() de l'auditeur, appelez le setVisibility(View.INVISIBLE) sur le ImageView.

+0

Pas la meilleure solution. Voir la réponse par chris. –

+1

@ClassStacker: Vous êtes le bienvenu à votre avis. 'setFillAfter()' est rarement la bonne réponse, car elle ne fonctionne pas vraiment comme prévu (par exemple, 'setFillAfter()' sur un 'TranslateAnimation' provoque des événements tactiles à travailler uniquement à l'emplacement * old *). Pour une animation alpha sur une interface utilisateur complètement statique, il peut être surviable, mais si quelque chose change beaucoup dans cette interface utilisateur, je ne serais pas du tout surpris de voir l'alpha revenir à sa valeur d'origine. Sur Android 3.0+, vous pouvez simplement définir la propriété alpha du widget, bien sûr. – CommonsWare

+0

Je vois; Je n'étais pas au courant du problème 'TranslateAnimation'. Bon à konw! Génial, vous avez fourni cette motivation pour votre solution. –

16

définir fillEnabled et fillAfter à true fonctionne toujours pour moi.

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

Je seconde cela. Peut également être réalisé en XML seul. –

+0

sympa! Merci frere. :) –