Android3.0之前
- 逐帖动画(Frame animation)
按照各帖设置的时间顺序播放图片 - 补间动画(Tween animation)
只需定义动画的开始和结束这两个关键帖,并指定动画的时间和方式,交由Android系统进行计算。只改变了View的绘制效果,没有改变其真实属性
| 动画类型 | 说明 |
|---|---|
| AlphaAnimation | 透明度 |
| ScaleAnimation | 缩放 |
| TranslateAnimation | 平移 |
| RotateAnimation | 旋转 |
Android3.0
- 属性动画
在一定时间间隔内,通过不断对值进行改变,并不断将该值赋给对象的属性,从而实现该对象在该属性上的动画效果,可作用于任意Java对象(厉害了)
工作逻辑
插值器(Interpolator)决定 值 的变化模式(匀速、加速blabla)
估值器(TypeEvaluator)决定 值 的具体变化数值
ValueAnimator类
- 定义:属性动画机制中 最核心的一个类
- 实现动画的原理:通过不断控制值的变化,再不断手动赋给对象的属性,从而实现动画效果。
ObjectAnimator类
- 直接对对象的属性值进行改变操作,从而实现动画效果
- 继承自ValueAnimator类,即底层的动画实现机制是基于ValueAnimator类
Android4.4
过度动画,Transition Framework 核心就是根据Scene(场景,下文解释)的不同帮助开发者们自动生成动画