Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用ObjectAnimator删除动画的慢端?_Android_Animation_Android Animation_Android View_Objectanimator - Fatal编程技术网

Android 如何使用ObjectAnimator删除动画的慢端?

Android 如何使用ObjectAnimator删除动画的慢端?,android,animation,android-animation,android-view,objectanimator,Android,Animation,Android Animation,Android View,Objectanimator,我有一个ObjectAnimator: cloudAnim2 = ObjectAnimator.ofFloat(cloud2ImageView, "x",500, 1000); cloudAnim2.setDuration(3000); cloudAnim2.setRepeatCount(ValueAnimator.INFINITE); cloudAnim2.setRepeatMode(ValueAnimator.RESTART); clo

我有一个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) {}
    });
如您所见,云将从位置500开始,并将动画设置为位置1000,然后将重复动画

问题是动画在接近完成时变得越来越慢。我的意思是,运动的速度并不总是一样的

我希望速度保持不变。如何做到这一点


谢谢

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

animation.setInterpolator(new LinearInterpolator());

当使用关键帧、PVH和ObjectAnimator.ofPropertyValuesHolder制作复杂的重复动画时,我得出了完全相同的结论。我一直认为ObjectAnimator将完全依赖于关键帧中设置的动画,但我真的很惊讶地看到AcceleratedAccelerateInterpolator作为默认值。您还可以将其设置为
animation.setInterpolator(null)