属性动画
动画的种类
- 平移
- 透明
- 旋转
- 缩放
- 帧动画
动画的设计考虑
- 面向用户为开发者,因此API尽量简单
- 一个View有多个动画,但同时只能由一个运行
- 动画执行不能依赖于自身for循环
- 如何让动画动起来
动画任务
- 控件
- 时长
- 起始值
- 差值器
在属性动画初始化的的过程中
- 创建ObjectAnimator对象,保存控件及属性名,
- 设置关键帧的值,创建PropertyValueHolder, 通过KeyframeSet的ofInt方法将动画分解成不同的关键帧
- 创建关键帧,Keyframe保存了关键帧的mFraction比例,值没Value及值类型mValueType
- 估值器的设置,是用来计算关键帧之间具体的值,
- 差值器的设置是修改某个时间点动画的百分比
自定义控件开发思路
- 观察有哪些动画
- 哪些元素比较特别,后面有没有可能变更需求
- 看是否有事件交互
- 如何设置自定义控件较为合理