安卓卡通之ObjectAnimator
安卓动画之ObjectAnimator
ObjectAnimator 不仅仅移动位置,还移动了对象view
先来代码片段:
//Y轴变换
ObjectAnimator oa = ObjectAnimator.ofFloat(imageViewList.get(i), "translationY", y0 + y, y0);
//X轴变换
ObjectAnimator ob = ObjectAnimator.ofFloat(imageViewList.get(i), "translationX", x0+x, x0 );
AnimatorSet set = new AnimatorSet();
set.playTogether(oa, ob);
set.setInterpolator(new BounceInterpolator());
set.setDuration(500);
set.start();
//设置绕X轴旋转
ObjectAnimator of =
ObjectAnimator.ofFloat(imageViewList.get(i),"rotationX", 0.0F, 360.0F).setDuration(500);
设置动画顺序。
有些时候,某些动画的开始需要依赖于其他动画的开始或结束,这时候就可以使用AnimatorSet来绑定这些Animator了。
- 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();
动画效果:
github地址: