LinearInterpolator无法正常工作

时间:2015-08-06 00:42:48

标签: java android

public void move(Activity activity) {

        moveLeft = ObjectAnimator.ofFloat(image, "translateX", -500);
        moveLeft.setInterpolator(new LinearInterpolator);
        moveLeft.setDuration(10000);

        moveLeft.addListener(new Animator.AnimatorListener() {
            @Override
            public void onAnimationStart(Animator animation) {
                Log.d("Interpolator", " My interpolator is " + moveLeft.getInterpolator());
            }

            @Override
            public void onAnimationEnd(Animator animation) {

            }

            @Override
            public void onAnimationCancel(Animator animation) {

                Log.d("Cancelled", "Animation has been abruptly cancelled.");
            }

            @Override
            public void onAnimationRepeat(Animator animation) {
                Log.d("Interpolator", " My interpolator is " + moveLeft.getInterpolator());
            }
        });

                moveLeft.start();
    }
}

当我运行move()方法时,我在动画开始时和动画结束时检查了插值器。

我检查时确实证实是LinearInterpolator。但是当我运行它时,它会像AcceleratingInterpolator一样移动。 (开始时很慢,然后移动得非常快。)

如果我使用LinearInterpolator,为什么它不会以线性速度移动?

我是否错误地使用了ObjectAnimator?或者我是否设置了插补器错误,或者我是否必须更新布局或什么?

更新:

我已经确认内插器工作正常。但LinearInterpolator似乎并没有让它以恒定的速度运行。我用弹跳插补器对它进行了测试,效果非常好。

0 个答案:

没有答案