安卓动画之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了。 
  1. AnimatorSet bouncer = new AnimatorSet();  
  2. bouncer.play(bounceAnim).before(squashAnim1);  
  3. bouncer.play(squashAnim1).with(squashAnim2);  
  4. bouncer.play(squashAnim1).with(stretchAnim1);  
  5. bouncer.play(squashAnim1).with(stretchAnim2);  
  6. bouncer.play(bounceBackAnim).after(stretchAnim2);  
  7. ValueAnimator fadeAnim = ObjectAnimator.ofFloat(newBall, "alpha", 1f, 0f);  
  8. fadeAnim.setDuration(250);  
  9. AnimatorSet animatorSet = new AnimatorSet();  
  10. animatorSet.play(bouncer).before(fadeAnim);  
  11. animatorSet.start();  

动画效果:

github地址:

https://github.com/cxmscb/ObjectAnimation01

原文地址:https://www.cnblogs.com/scbxiang/p/4470528.html