作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想使用自定义 interpolator
在 Android view
(按钮)上应用翻译 animation
,其中缓动函数是:
public static float easeOut(float t,float b , float c, float d) {
if ((t/=d) < (1/2.75f)) {
return c*(7.5625f*t*t) + b;
} else if (t < (2/2.75f)) {
return c*(7.5625f*(t-=(1.5f/2.75f))*t + .75f) + b;
} else if (t < (2.5/2.75)) {
return c*(7.5625f*(t-=(2.25f/2.75f))*t + .9375f) + b;
} else {
return c*(7.5625f*(t-=(2.625f/2.75f))*t + .984375f) + b;
}
}
我有一个像这样使用自定义插值器的示例:
插值器是:
public class HesitateInterpolator implements Interpolator {
public HesitateInterpolator() {
}
public float getInterpolation(float t) {
float x = 2.0f * t - 1.0f;
return 0.5f * (x * x * x + 1.0f);
}
}
像这样使用:
ScaleAnimation anim = new ScaleAnimation(0.0f, 1.0f, 0.0f, 1.0f);
anim.setInterpolator(new HesitateInterpolator());
我的问题是:这些值 b
、c
、d
有什么用?
最佳答案
仅供引用:对于那些只想要一个轻松插值器的人,您可以使用 myAnimator.setInterpolator(new AccelerateDecelerateInterpolator());
关于android - 如何在 Android 中的 View 上应用缓动动画功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22896605/
我是一名优秀的程序员,十分优秀!