AccelerateDecelerateInterpolator

AccelerateDecelerateInterpolator

我正在尝试使用AccelerateDecelerateInterpolator并对其进行自定义。
我可以看到像DecelerateInterpolator这样的插值器都有一个“因子”字段,因此您可以更改其行为。但AccelerateDecelerateInterpolator没有。
当我使用AccelerateDecelerateInterpolator时,我几乎什至没有注意到该插值器正在做任何事情。动画看起来非常线性。因此,是否有任何方法可以分解AccelerateDecelerateInterpolator或以任何方式对其进行更改?
谢谢

最佳答案

您可以使用自己的Interpolator实现标准缓动功能。
例如,这将是easeInOutQuint的实现:

public class MVAccelerateDecelerateInterpolator implements Interpolator {

    // easeInOutQuint
    public float getInterpolation(float t) {
        float x = t*2.0f;
        if (t<0.5f) return 0.5f*x*x*x*x*x;
        x = (t-0.5f)*2-1;
        return 0.5f*x*x*x*x*x+1;
    }
}

关于android - 自定义android AccelerateDecelerateInterpolator,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13699740/

10-10 23:17