码迷,mamicode.com
首页 > 移动开发 > 详细

Android animation interpolator: AcceletateDecelerate

时间:2019-09-04 11:37:45      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:imp   extends   cos   att   end   系统默认   tin   extend   bee   

Android animation interpolator: AcceletateDecelerate


AccelerateDecelerate:

y = cos((t+1)π)/2+0.5

可让动画看起来较平顺,系统默认的interpolator也是AcceletateDecelerate

技术图片

Demo:

Source:

public class AccelerateDecelerateInterpolator extends BaseInterpolator implements NativeInterpolatorFactory {
    public AccelerateDecelerateInterpolator() {
    }

    @SuppressWarnings({"UnusedDeclaration"})
    public AccelerateDecelerateInterpolator(Context context, AttributeSet attrs) {
    }

    public float getInterpolation(float input) {
        return (float)(Math.cos((input + 1) * Math.PI) / 2.0f) + 0.5f;
        // y = cos((t + 1)Math.PI)/2 + 0.5
    }

    @Override
    public long createNativeInterpolator() {
        return NativeInterpolatorFactoryHelper.createAccelerateDecelerateInterpolator();
    }
}

原文:大专栏  Android animation interpolator: AcceletateDecelerate


Android animation interpolator: AcceletateDecelerate

标签:imp   extends   cos   att   end   系统默认   tin   extend   bee   

原文地址:https://www.cnblogs.com/petewell/p/11457901.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!