web-dev-qa-db-fra.com

Comment ajouter une animation à une vue de texte dans Android

J'ai une TextView et j'essaie d'y ajouter une animation en fondu. Mon code retourne null et je ne comprends pas pourquoi.

Voici ma mise en place

C'est le fade_in.xml

    <alpha
            xmlns:Android="http://schemas.Android.com/apk/res/Android"    Android:fillAfter="true"
            Android:duration="1000"
            Android:fromAlpha="0.0"
            Android:interpolator="@Android:anim/accelerate_interpolator"
            Android:toAlpha="1.0"/>

et voici comment im l'utilise dans l'activité correspondante

    tv= (TextView)findViewById(R.id.textView);
//-- the below line is returning null
            animation = AnimationUtils.loadAnimation(this,R.anim.fade_in);

            animation.setAnimationListener(new Animation.AnimationListener() {
                @Override
                public void onAnimationStart(Animation animation) {
                tv.setVisibility(View.VISIBLE);
                }

                @Override
                public void onAnimationEnd(Animation animation) {
                    Intent it  = new Intent(SplashActivity.this, MainActivity.class);
                    startActivity(it);
                }

                @Override
                public void onAnimationRepeat(Animation animation) {

                }
            });

            tv.startAnimation(animation);
15
DeepakKUMARYadav

Exemple d'annotation Android TextView

XML

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:Android="http://schemas.Android.com/apk/res/Android">
<scale
      Android:fromXScale="1.0"
      Android:fromYScale="1.0"
      Android:toXScale="2.0"
      Android:toYScale="2.0"
      Android:duration="3000"></scale>
</set>

Code

private void RunAnimation() 
{
  Animation a = AnimationUtils.loadAnimation(this, R.anim.scale);
  a.reset();
  TextView tv = (TextView) findViewById(R.id.firstTextView);
  tv.clearAnimation();
  tv.startAnimation(a);
}

Pour plus :

http://chiuki.github.io/advanced-Android-textview/#/5

http://www.hascode.com/2010/09/playing-around-with-the-Android-animation-framework/

12
RAP

Vous pouvez charger des animations de la classe AnimationUtils dans Android et le définir sur une vue de texte dans Android.

textview.startAnimation(AnimationUtils.loadAnimation(c, Android.R.anim.fade_in));

et vous pouvez arrêter l'animation en utilisant,

textview.clearAnimation();
1
Kanagalingam

Votre identifiant textview est-il correct? Commencez par vérifier si vous obtenez correctement votre identifiant textview dans votre application.

1
Vivek Mishra

Utiliser Animator/AnimatorSet Animation est un code hérité

0
Duna

Vous avez besoin de setAnimation dans votre TextView

Exemple:

tv.setAnimation( animation ); 
0
dpulgarin