如何将一系列动画按序播放,需要用到Android提供的AnimatorSet
用法比较简单,看代码
private void startAnimatorSet(){
AnimatorSet bouncer = new AnimatorSet();
bouncer.play(bounceAnim).before(squashAnim1);
bouncer.play(squashAnim1).with(squashAnim2);
bouncer.play(squashAnim1).with(stretchAnim1);
bouncer.play(squashAnim1).with(stretchAnim2);
bouncer.play(bounceBackAnim).after(stretchAnim2);
ValueAnimator fadeAnim = ObjectAnimator.ofFloat(newBall, "alpha", 1f, 0f);
fadeAnim.setDuration(250);
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.play(bouncer).before(fadeAnim);
animatorSet.start();
}
代码对animator进行排序后,调用animatorSet.start()方法启动动画。
Line8中,ObjectAnimator是ValueAnimator的子类,如果动画比较简单,可以使用它,ObjectAnimator不再需要用户实现ValueAnimator.AnimatorUpdateListener后对你当前的对象进行属性改变,这些动作ObjectAnimator帮你完成,只需要在参数中指定,要改变的对象,对象的属性以及属性变化的范围。