gpt4 book ai didi

android - 创建一个 DecelerateAccelerateInterpolator

转载 作者:搜寻专家 更新时间:2023-11-01 07:56:32 24 4
gpt4 key购买 nike

Android 提供了以下动画插值器:AccelerateInterpolator、DecelerateInterpolator、AccelerateDecelerateInterpolator。

如何实现 DecelerateAccelerateInterpolator?

最佳答案

您想要一个在开始和结束时速度快但在中间速度慢的插值器?

找到代表您的插值器的适当数学函数,并使用您的数学函数实现插值器接口(interface)。

示例来自 http://cogitolearning.co.uk/?p=1078

public class DecelerateAccelerateInterpolator implements Interpolator {
public DecelerateAccelerateInterpolator() {}
public float getInterpolation(float t) {
float x=2.0f*t-1.0f;
return 0.5f*(x*x*x + 1.0f);
}
}

或者将 DecelerateInterpolator 和 AccelerateInterpolator 结合起来。

public class DecelerateAccelerateInterpolator implements Interpolator {
final float factor;
public DecelerateAccelerateInterpolator() {
this(1);
}

public DecelerateAccelerateInterpolator(float factor) {
this.factor = factor;
}

public float getInterpolation(float t) {
if (t < 0.5f) {
return new DecelerateInterpolator(factor).getInterpolation(2 * t);
} else {
return new AccelerateInterpolator(factor).getInterpolation(2 * (t - 0.5f));
}
}
}

关于android - 创建一个 DecelerateAccelerateInterpolator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27269845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com