我想使用以下内容制作翻译动画

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方法。

有人可以帮忙吗?

最佳答案

如果您真的真的真的想要使用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();
}

关于android - Android:如何使用ValueAnimator,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33870408/

10-09 01:41