我正在尝试使用 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;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)