標籤:
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地址:
https://github.com/cxmscb/ObjectAnimation01
安卓動畫之ObjectAnimator