AccelerateDecelerateInterpolator

AccelerateDecelerateInterpolator

本文介绍了定制Android AccelerateDecelerateInterpolator的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用AccelerateDecelerateInterpolator并对其进行自定义。我可以看到,像DecelerateInterpolator这样的Interpolator有一个"factor"字段,这样您就可以更改它的行为。但是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;
    }
}

这篇关于定制Android AccelerateDecelerateInterpolator的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-23 20:58