帧动画是通过连续播放图片来模拟动画效果,而补间动画开发者只需指定动画开始,以及动画结束"关键帧",而动画变化的"中间帧"则由系统计算并补齐!
1.补间动画的分类和interpolator
andoird所支持的补间动画效果有如下这五种,或者说四种吧,第五种是前面几种的组合而已。
在开始讲解各种动画的用法之前,我们先要来讲解一个东西:interpolator
用来控制动画的变化速度,可以理解成动画渲染器,当然我们也可以自己实现interpolator接口,自行来控制动画的变化速度,而android中已经为我们提供了五个可供选择的实现类:
- linearinterpolator:动画以均匀的速度改变
- accelerateinterpolator:在动画开始的地方改变速度较慢,然后开始加速
- acceleratedecelerateinterpolator:在动画开始、结束的地方改变速度较慢,中间时加速
- cycleinterpolator:动画循环播放特定次数,变化速度按正弦曲线改变:math.sin(2 * mcycles * math.pi * input)
- decelerateinterpolator:在动画开始的地方改变速度较快,然后开始减速
- anticipateinterpolator:反向,先向相反方向改变一段再加速播放
- anticipateovershootinterpolator:开始的时候向后然后向前甩一定值后返回最后的值
- bounceinterpolator: 跳跃,快到目的值时值会跳跃,如目的值100,后面的值可能依次为85,77,70,80,90,100
- overshottinterpolator:回弹,最后超出目的值然后缓慢改变到目的值
2.各种动画的详细讲解
这里的android:duration都是动画的持续时间,单位是毫秒
发表评论