Android App开发进阶与项目实战
上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 属性动画组合正在播放