自定义插值器

Android自定义插值器 Interpolator

    插值器主要用于android动画中,用于改变动画变化的速率。Android自定义了很多种插值器,可以满足一般动画的需求。不过,当用户对自己的动画有很精细的要求时,自定义插值器才是王道。
自定义插值器主要通过继承Interpolator类来实现,范例如下:
public class ParabolaInterpolators implements android.view.animation.Interpolator{

    @Override
    public float getInterpolation(float v) {
        return v*v;
    }
}
     getInterpolation(float v)是插值器最核心的方法,传进去的参数v代表着当前时间进度(百分比),注意,是百分比,不是值。返回的值也是当前动画变化的进度(百分比)。怎么理解呢?以上述范例来讲,传入的值为v(0<=v<=1),返回v^2,其变化曲线如下

     横坐标为传入的值,表示当前的时间,纵坐标为返回的值,表示动画的进度。为什么取值范围都是0到1之间呢?
     我们取其中一点,当v=0.5时,返回值(我们假设为y)y=0.25,其含义表示,当时间到达总时间的一半时,动画的进度为总进度的四分之一。
     再取v=0.8,此时,y=0.64,则表示当时间为总时间的80%,动画的变化进度为总进度的64%。
     当v=1即表示动画时间结束,此时y=1,动画变化总进度100%,动画变化结束。
     
     我们可以写不同的数学函数来定义不同的动画变化方式,无论是三角函数,幂函数,还是分段函数,我们能想到的各种变换方法都可以用在数学中学到的各种函数来表示,然后给我们的插值器定义。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值