上QQ阅读APP看书,第一时间看更新
3.3.2 属性动画组合
补间动画可以通过集合动画AnimationSet组装多种动画效果,属性动画也有类似的做法,即通过属性动画组合AnimatorSet组装多种属性动画。
AnimatorSet虽然与ObjectAnimator都继承自Animator,但是两者的使用方法略有不同,主要是属性动画组合少了部分方法。下面是AnimatorSet的常用方法:
- setDuration:设置动画组合的持续时间,单位为毫秒。
- setInterpolator:设置动画组合的插值器。
- play:设置当前动画。该方法返回一个AnimatorSet.Builder对象,可对该对象调用组装方法添加新动画,从而实现动画组装功能。下面是Builder的组装方法说明。
- with:指定该动画与当前动画一起播放。
- before:指定该动画在当前动画之前播放。
- after:指定该动画在当前动画之后播放。
- start:开始播放动画组合。
- pause:暂停播放动画组合。
- resume:恢复播放动画组合。
- cancel:取消播放动画组合。
- end:结束播放动画组合。
- isRunning:判断动画组合是否在播放。
- isStarted:判断动画组合是否已经开始。
下面是使用属性动画组合组装多种属性动画的示例代码:
(完整代码见animation\src\main\java\com\example\animation\ObjectGroupActivity.java)
属性动画组合的演示效果如图3-24和图3-25所示。图3-24为动画组合开始播放不久的画面,图3-25为动画组合播放过程中的画面。
图3-24 属性动画组合开始播放
图3-25 属性动画组合正在播放