Android动画-Interpolator(插值器)大全
16lz
2021-01-26
本章内容
花了点时间,把所有动画的插值器都用了一遍,写了个Demo分享下,看效果之前先看下Android动画中插值器的类型:
AccelerateDecelerateInterpolator @android:anim/accelerate_decelerate_interpolator在动画开始与介绍的地方速率改变比较慢,在中间的时候加速AccelerateInterpolator @android:anim/accelerate_interpolator 在动画开始的地方速率改变比较慢,然后开始加速AnticipateInterpolator @android:anim/anticipate_interpolator 开始的时候向后然后向前甩AnticipateOvershootInterpolator @android:anim/anticipate_overshoot_interpolator 开始的时候向后然后向前甩一定值后返回最后的值BounceInterpolator @android:anim/bounce_interpolator 动画结束的时候弹起CycleInterpolator @android:anim/cycle_interpolator 动画循环播放特定的次数,速率改变沿着正弦曲线DecelerateInterpolator @android:anim/decelerate_interpolator 在动画开始的地方快然后慢LinearInterpolator@android:anim/linear_interpolator 以常量速率改变OvershootInterpolator @android:anim/overshoot_interpolator 向前甩一定值后再回到原来位置
设置插值器的代码很简单 alphaAnimation.setInterpolator(baseInterpolator);
XML中的用法
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
接下来就仔细的看看效果吧:
AccelerateDecelerateInterpolator
在动画开始与介绍的地方速率改变比较慢,在中间的时候加速
AccelerateInterpolator
在动画开始的地方速率改变比较慢,然后开始加速
AnticipateInterpolator
开始的时候向后然后向前甩
AnticipateOvershootInterpolator
开始的时候向后然后向前甩一定值后返回最后的值
BounceInterpolator
动画结束的时候弹起
CycleInterpolator
动画循环播放特定的次数,速率改变沿着正弦曲线
DecelerateInterpolator
在动画开始的地方快然后慢
LinearInterpolator
以常量速率改变
OvershootInterpolator
向前甩一定值后再回到原来位置
最后 CycleInterpolator 这个插值器需要注意下,它的构造函数需要传入一个float值,这个值就是动画重复的次数,并且如过对这个差值器 设置 android:fillAfter=”true” 那么动画结束后,你看到的回事动画开始的第一幕(第一帧),如果不设置或者设置成 android:fillBefore=”true”,那么看到的回事控件本身的XML的状态
就这些了,源码下载:
http://download.csdn.net/detail/cjh_android/9532238
更多相关文章
- Android(安卓)TabLayout简单使用
- 属性动画(property animation) &重复执行
- animation of android (1)
- android之animation(二)animationset、interpolator
- Android(安卓)SDK示例代码学习(1)----BouncingBalls
- Android开发之ViewFlipper
- Android(安卓)ApiDemos示例解析(52):Graphics->AnimateDrawables
- Android的动画简单学习
- Android(安卓)动画之补间动画(View Animation)