Android: как использовать 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();
}

но я не знаю, как использовать метод onAnimationUpdate.

может кто-нибудь помочь пожалуйста?

1 ответов


если вы действительно, действительно, действительно хотите использовать ValueAnimator для анимационного перевода View вы можете сделать это таким образом (отделка ваш пример, предполагая, что вы имели в виду translationX; имейте в виду, что вы анимируете перевод с 0px на 3px, поэтому вы, вероятно, не увидите большой разницы):

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