本文共 1359 字,大约阅读时间需要 4 分钟。
在前面讲了基础动画的ViewAnimation的所有动画实现形式,xml和java代码实现。不过谷歌还提供了一个不错的效果,那就是插值器。不同的插值器对展现的动画效果有较大的影响。
参考启航的插值器介绍学习:
参考谷歌官网文档学习 :
上一篇文章基础动画(ViewAnimation):
设置interpolator,也就是让动画按照设定的模式去运行。Interpolator原有的属性:
class就是java对应的类,Resource ID 是在XML中使用的。interpolator 属性属于Animation基础类,所以Scale,Translate,Rotate,alpha都可以设置自己的interpolator属性。意义如下(摘抄自启航的文章):
AccelerateDecelerateInterpolator 在动画开始与结束的地方速率改变比较慢,在中间的时候加速
AccelerateInterpolator 在动画开始的地方速率改变比较慢,然后开始加速
AnticipateInterpolator 开始的时候向后然后向前甩
AnticipateOvershootInterpolator 开始的时候向后然后向前甩一定值后返回最后的值
BounceInterpolator 动画结束的时候弹起
CycleInterpolator 动画循环播放特定的次数,速率改变沿着正弦曲线
DecelerateInterpolator 在动画开始的地方快然后慢
LinearInterpolator 以常量速率改变
OvershootInterpolator 向前甩一定值后再回到原来位置
下面看看各个标签在应用上面的每个插值器后会运动轨迹会怎样。
那么久看看各个插值器的动画效果。2.DecelerateInterpolator 在动画开始的地方快然后慢
3.AnticipateInterpolator 开始的时候向后然后向前甩
4.AccelerateDecelerateInterpolator 在动画开始与结束的地方速率改变比较慢,在中间的时候加速
5.AnticipateOvershootInterpolator 开始的时候向后然后向前甩一定值后返回最后的值
6.BounceInterpolator 动画结束的时候弹起
7.CycleInterpolator 动画循环播放特定的次数,速率改变沿着正弦曲线
8.LinearInterpolator 以常量速率改变
9.OvershootInterpolator 向前甩一定值后再回到原来位置
谷歌提供的API中interpolator就这么多,基本动画效果也给上了。怎么使用的话很简单。xml直接设置interpolator的属性,而java类Animation直接设置setInterpolator(插值器对象)就OK了。
xml:而java代码中:
animation.setInterpolator(new AccelerateInterpolator());
这样就搞定了,是不是很简单。