Fade In Fade Out Android de l'Animation en Java

Je veux avoir une 2 seconde de l'animation d'une ImageView qui passe 1000ms en fondu et puis 1000ms fondu.

Voici ce que j'ai jusqu'à présent dans ma ImageView constructeur:

Animation fadeIn = new AlphaAnimation(0, 1);
fadeIn.setDuration(1000);

Animation fadeOut = new AlphaAnimation(1, 0);
fadeOut.setStartOffset(1000);
fadeOut.setDuration(1000);

AnimationSet animation = new AnimationSet(true);
animation.addAnimation(fadeIn);
animation.addAnimation(fadeOut);
this.setAnimation(animation);

Quand je lance cette animation, rien montre. Cependant, lorsque je supprime l'un de l'alpha animations, le comportement fonctionne comme prévu.

Choses que j'ai déjà essayé:

  • Toutes les combinaisons imaginables de setFillBefore, setFillAfter, et setFillEnabled.
  • L'ajout d'un LinearInterpolator à la AnimationSet.
  • Oui, vous pouvez afficher des images dans et hors! Ce tutoriel devrait faire l'affaire. sankarganesh-info-exchange.blogspot.com/2011/04/...
  • Ce tutoriel décrit une méthode à l'aide de XML. Savez-vous comment obtenir la même chose à l'aide de Java?
  • Eh bien, je ne suis pas à côté de ma programmation d'ordinateur donc je ne peux pas tester ce code, mais vous pouvez définir des attributs xml en java. c'est le code d'origine: android:interpolateur="@android:anim/accelerate_interpolator" android:fromAlpha="0.0" android:toAlpha="1.0" android:durée="300" /> \n de sorte que vous pouvez probablement MyTween.setDurationg(300) MyTween.fromAlpha(0.0) MyTween(1.0)
InformationsquelleAutor plowman | 2011-07-22