自定义android AccelerateDecelerateInterpolator

roi*_*erg 11 animation android interpolation

我正在尝试使用AccelerateDecelerateInterpolator并自定义它.我可以看到像DecelerateInterpolator这样的插值器有一个"因子"字段,所以你可以改变它的行为.但AccelerateDecelerateInterpolator没有.当我使用AccelerateDecelerateInterpolator时,我几乎甚至都注意到内插器正在做任何事情.动画看起来非常线性.那么,有没有办法考虑AccelerateDecelerateInterpolator或以任何方式改变它?谢谢

ʞᴉɯ*_*ʞᴉɯ 10

您可以使用自己的标准缓动功能实现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;
    }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述