2015-11-23 16 views
8

nasıl kullanılacağı buAndroid: ValueAnimator

public static void move(TextView view){ 

    ValueAnimator va = ValueAnimator.ofFloat(0f, 3f); 
    int mDuration = 3000; //in millis 
    va.setDuration(mDuration); 
    va.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { 
     public void onAnimationUpdate(ValueAnimator animation) { 

     } 
    }); 
    va.setRepeatCount(5); 
    va.start(); 
} 

sonrasında kullanarak animasyonu çevirmek yapmak istiyorum Ama yöntemini onAnimationUpdate nasıl kullanılacağını bilmiyorum.

Herhangi biri yardımcı olabilir mi?

+0

Sadece animasyon uygulayın. "Animation" nesnesinden değerler alabilirsiniz. Alternatif olarak 'ObjectAnimator' kullanabilirsiniz, bu sınıf otomatik olarak animasyonlu değerleri verilen nesnenin özelliğine uygulayacaktır. – Jago

+0

@Ahmada Beye // Pro ipucu; 'va.setInterpolator (yeni AccelerateDecelerateInterpolator());' Daha pürüzsüz bir animasyon için. – Epicality

cevap

25

Gerçekten, gerçekten, gerçekten Eğer translationX demek varsayarak, bunu bu şekilde (seni örnek bitirme yapabilirsiniz View çevirisini hareketlendirmek için ValueAnimator kullanmak istiyorsanız; çıplak akılda Eğer' muhtemelen pek fark) gözle görülmeyecek kadar 3px için 0px çeviriye animasyon re:

public static void move(final TextView view){ 
    ValueAnimator va = ValueAnimator.ofFloat(0f, 3f); 
    int mDuration = 3000; //in millis 
    va.setDuration(mDuration); 
    va.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { 
     public void onAnimationUpdate(ValueAnimator animation) { 
      view.setTranslationX((float)animation.getAnimatedValue()); 
     } 
    }); 
    va.setRepeatCount(5); 
    va.start(); 
} 
+11

Çok teşekkür ederim, gerçekten, gerçekten, gerçekten ** ihtiyacım var –