插补器Interpolator详解

目前animation插补器的有关属性如下:

1.AccelerateDecelerateInterpolator 加速减速插补器(先慢后快再慢)

2.AccelerateInterpolator 加速插补器(先慢后快)

3.AnticipateInterpolator 向前插补器(先往回跑一点,再加速向前跑)

4.AnticipateOvershootInterpolator 向前向后插补器(先往回跑一点,再向后跑一点,再回到终点)

5.BounceInterpolator 反弹插补器(在动画结束的时候回弹几下,如果是竖直向下运动的话,就是玻璃球下掉弹几下的效果)

6.CycleInterpolator 循环插补器(按指定的路径以指定时间(或者是偏移量)的1/4、变速地执行一遍,再按指定的轨迹的相反反向走1/2的时间,再按指定的路径方向走完剩余的1/4的时间,最后回到原点。假如:默认是让a从原点往东跑100米。它会先往东跑100米,然后往西跑200米,再往东跑100米回到原点。可在代码中指定循环的次数)

7.DecelerateInterpolator 减速插补器(先快后慢)

8.LinearInterpolator 直线插补器(匀速)

9.OvershootInterpolator 超出插补器(向前跑直到越界一点后,再往回跑)

10.FastOutLinearInInterpolator MaterialDesign基于贝塞尔曲线的插补器 效果:依次 慢慢快

11.FastOutSlowInInterpolator MaterialDesign基于贝塞尔曲线的插补器 效果:依次 慢快慢

12.LinearOutSlowInInterpolator MaterialDesign基于贝塞尔曲线的插补器 效果:依次 快慢慢

下面补充一下贝塞尔曲线的理解:一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段节点组成,节点是可拖动的支点,线段像可伸缩的皮筋,我们在绘图工具(PS)上看到的"钢笔工具"就是来做这种矢量曲线的。

使用的方法有两种:1.是在布局文件中引用 2.是用代码实现

方法一:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="true"
    android:interpolator="@android:anim/linear_interpolator">//对当前动画设置插补器
    <translate
        android:duration="2000"
        android:fromXDelta="50%"
        android:fromYDelta="0%"
        android:interpolator="@android:anim/linear_interpolator"// 对当前节点设置插补器
        android:toXDelta="500%"
        android:toYDelta="0%" />
</set>
方法二:

Animation mAnimation = AnimationUtils.loadAnimation(this, R.anim.xxx);//引用动画文件
mAnimation.setInterpolator(new LinearInterpolator());//代码设置插补器
view.startAnimation(mAnimation);


ok,这样就搞定了.


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值