Android 动画集合有两类,AnimationSet以及AnimatorSet,下面是在网上找的它们两者的区别:

AnimationSet 我们最常用的是调用其 addAnimation 将一个个不一样的动画组织到一起来,然后调用view的startAnimation方法触发这些动画执行。功能较弱不能做到把集合中的动画按一定顺序进行组织然后在执行的定制。
AnimatorSet 我们最常用的是调用其play、before、with、after 等方法设置动画的执行顺序,然后调用其start 触发动画执行。
AnimationSet 与 AnimatorSet 最大的不同在于,AnimationSet 使用的是 Animation 子类、AnimatorSet 使用的是 Animator 的子类。

一般而言我们AnimationSet使用在将多个视图动画组合在一起形成一个动画集合,而AnimatorSet用于将多个属性动画集合在一起,实现有序得播放。

下面是两个的常用方式:

AnimationSet 用法:

AnimationSet set = new AnimationSet(true);
AlphaAnimation alphaAnimation = new AlphaAnimation(1.0f,0f);
ScaleAnimation scaleAnimation = new ScaleAnimation(100.0f, 200.0f, 300.0f, 400.0f);
set.addAnimation(alphaAnimation);
set.addAnimation(scaleAnimation);
view.startAnimation(set);

AnimatorSet 用法

AnimatorSet animatorSet = new AnimatorSet();
animatorSet.start();

设置播放顺序的方法:

public Builder play(Animator anim)
public void playTogether(Animator... items)
public void playSequentially(Animator... items)
public Builder with(Animator anim)
public Builder before(Animator anim)
public Builder after(Animator anim)
Contents