android - 如何在 Android 中的 View 上应用缓动动画功能

标签 android animation easing easing-functions

我想使用自定义 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());

我的问题是: 这些值 bcd 有什么用?

最佳答案

仅供引用:对于那些只想要一个轻松插值器的人,您可以使用 myAnimator.setInterpolator(new AccelerateDecelerateInterpolator());

关于android - 如何在 Android 中的 View 上应用缓动动画功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22896605/

相关文章:

android - 如何创建从左到右效果的 float 菜单

flutter - 如何使用 lottie for flutter 包更改 lottie 动画的属性?

javascript - 对全景旋转实现阻尼(惯性)

android - 带有自定义 ArrayAdapter 和 Filter 的 AutoCompleteTextView

android - 距离计算bug android

java - 在哪里可以从 Twitter 搜索返回的 HttpClient 获取 http 响应代码?

c# - WPF 动画时钟什么都不做?

ios - 不知从何而来的不需要的动画

javascript - 检查 jQuery UI 缓动方法是否可用

javascript - 当其他元素消失时动画/缓和元素定位