如何使用ObjectAnimator删除动画的慢速结束?

Nul*_*ion 7 animation android android-animation android-view objectanimator

我有这个ObjectAnimator:

    cloudAnim2 = ObjectAnimator.ofFloat(cloud2ImageView, "x",500, 1000);
    cloudAnim2.setDuration(3000);
    cloudAnim2.setRepeatCount(ValueAnimator.INFINITE);
    cloudAnim2.setRepeatMode(ValueAnimator.RESTART);        
    cloudAnim2.start();
    cloudAnim2.addListener(new AnimatorListener() {
        @Override
        public void onAnimationCancel(Animator animation) {}
        @Override
        public void onAnimationEnd(Animator animation) {}
        @Override
        public void onAnimationRepeat(Animator animation) {}
        @Override
        public void onAnimationStart(Animator animation) {}
    });
Run Code Online (Sandbox Code Playgroud)

如您所见,云将从位置500开始并将动画到位置1000,然后它将重复动画.

问题是动画越来越慢,因为它接近完成.我的意思是,运动的速度并不总是一样的.

我希望速度变得总是一样的.如何才能做到这一点?

谢谢

小智 13

默认插值器是AccelerateDecelerateInterpolator,因此您需要手动将其设置为线性插值器.

animation.setInterpolator(new LinearInterpolator());