如何降低Android BounceInterpolator的弹跳幅度

时间:2016-10-17 13:39:31

标签: android android-animation interpolation

在Android中使用BounceInterpolator动画时,有没有办法降低反弹效果的幅度?默认情况下,它会导致弹跳效果远远超出我的预期。

1 个答案:

答案 0 :(得分:6)

我个人不喜欢Android提供的BounceInterpolar。我说你做的就是自己定义一个。下面是一个简单版本的代码,它在构造函数中将Amplitude和Frequency作为参数。通过简单的网络搜索,您将获得下面使用的公式。

class MyBounceInterpolator implements android.view.animation.Interpolator {
    double mAmplitude = 1;
    double mFrequency = 10;

    MyBounceInterpolator() {
    }

    MyBounceInterpolator(double amp, double freq) {
        mAmplitude = amp;
        mFrequency = freq;
    }

    public float getInterpolation(float time) {
        return (float) (-1 * Math.pow(Math.E, -time/ mAmplitude) * Math.cos(mFrequency * time) + 1);
    }
}

希望我帮助过:D