2015-12-04 18 views
12

Ho un TextView e sto cercando di aggiungere un'animazione in animazione ad esso. Il mio codice sta restituendo null e non capisco perché.Come aggiungere un'animazione a una vista di testo in Android

Qui è la mia realizzazione

Questa è la 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"/> 

e ecco come im utilizzando nella corrispondente attività

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); 
+0

Si prega di fornire il registro degli errori. –

+0

per favore ci dia l'errore logcat qui. –

risposta

10

Android TextView Annimation esempio

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> 

Codice

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); 
} 

For More:

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

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

0

È necessario setAnimation nella vostra TextView

Esempio:

tv.setAnimation(animation); 
+0

ho provato anche quello ... ma ancora sta dicendo la stessa cosa causato da: java.lang.NullPointerException: tentativo di invocare metodo virtuale 'void android.widget.TextView.setAnimation (android.view.animation.Animation) 'su un valore zero – DeepakKUMARYadav

1

È il vostro TextView id corretto ?? Innanzitutto controlla se stai ricevendo correttamente l'id della tua id testuale nella tua app

+0

In base al commento in un'altra risposta - no, non è corretto: "java.lang.NullPointerException: tentativo di richiamare il metodo virtuale' void android.widget.TextView.setAnimation (android.view.animation.Animation) ' su null "questa dovrebbe essere la risposta accettata – WFranczyk

+0

@WFranczyk Cosa vuoi dire ?? –

1

Puoi caricare animazioni dalla classe AnimationUtils in Android e impostarla su una vista testo in Android.

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

e si può smettere di animazione utilizzando,

textview.clearAnimation(); 
0

Usa Animatore/AnimatorSet Animazione è il codice legacy

Problemi correlati