Comment rendre le texte fade in et fade out sur Android?
J'ai un paragraphe de texte et quand on clique sur un bouton, je veux que le texte de la fermeture, de changer pour un autre texte, puis fondu dans. J'ai un code mais il ne fait pas le fade out de l'animation juste le fondu.
final TextView mSwitcher = (TextView) findViewById(R.id.bookContent);
mSwitcher.setText("old text");
final Animation in = new AlphaAnimation(0.0f, 1.0f);
in.setDuration(3000);
final Animation out = new AlphaAnimation(1.0f, 0.0f);
out.setDuration(3000);
Button moveOn = (Button) findViewById(R.id.moveOn);
moveOn.setOnClickListener( new OnClickListener() {
public void onClick(View v) {
mSwitcher.startAnimation(out);
mSwitcher.setText("new text");
mSwitcher.startAnimation(in);
}
});
Vous devez vous connecter pour publier un commentaire.
Vous semblez mettre de l'animation dans le droit après que vous vous étiez fixé à l'extérieur. Cela ne fait que le "en" travail d'animation.
Pour faire la deuxième animation démarre juste après la première, vous pouvez ajouter un écouteur à votre première animation:
Puis, dans votre
onClick()
méthode:Cela devrait faire l'affaire.
Une autre approche consiste à utiliser
AnimationSet
.Alors, au lieu de commencer
out
, commenceras
.J'espère que cela aide!
AnimationListener
mise en œuvre empêche le fondu dans l'animation de produit -- le nouveau texte s'affiche instantanément.Si vous souhaitez utiliser
Animation
, vous pouvez utiliser unAnimatorListener
pour écouter lors de la première animation est réalisée, puis début de la deuxième animation. Que seraitonAnimationEnd()
.Plus d'informations sont disponibles ici: http://developer.android.com/reference/android/animation/Animator.AnimatorListener.html
Il pourrait y avoir une meilleure façon de le faire avec
AnimationSet
, mais cela fonctionne pour vous.Vous devriez envisager d'utiliser quelque chose comme un
TextSwitcher
. Il y a une brève document surTextSwitcher
dans l'Android de la documentation. Ce que je voudrais recommander la meilleure, cependant, est de regarder l'API Démos, il y a une grande et simple à utiliser l'un deTextSwitcher
s. Téléchargement de l'API de Démos et de les vérifier par vous-même, ou de voir ici.à ajouter à eboix de réponse... c'est comment j'ai fondu dans le texte et le fade out de texte, avec un délai entre chaque fade et avant de s'effacer, (j'.e droit après un fondu).
Mon XML ressemble à ceci.
Vous utilisez cette variable dans votre activité/fragment/dialogfragment, les éléments suivants sont les variables que j'ai utilisé dans la mine...
Maintenant les objets et les variables sont innitialized sont utilisés comme cela, j'ai utilisé pour mon dialogue fragment, dans le oncreateDialog méthode..
Il y a une meilleure façon de faire le même effet.
Vous devez configurer l'animation de répéter à l'inverse de la mode.
Voici un exemple: