一、属性动画
final ObjectAnimator translationX = ObjectAnimator.ofFloat(ivId, "translationX", 0, 300);
final ObjectAnimator alpha = ObjectAnimator.ofFloat(ivId, "alpha", 1, 0);
final ObjectAnimator scaleX = ObjectAnimator.ofFloat(ivId, "scaleX", 1, 2);
final ObjectAnimator rotation = ObjectAnimator.ofFloat(ivId, "rotation", 90);
translationX.setInterpolator(new AccelerateDecelerateInterpolator());
translationX.setDuration(2000);
translationX.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animator) {}
@Override
public void onAnimationEnd(Animator animator) {
alpha.start();
}
@Override
public void onAnimationCancel(Animator animator) {}
@Override
public void onAnimationRepeat(Animator animator) {}
});
translationX.start();
二、动画集
ObjectAnimator translationX = ObjectAnimator.ofFloat(ivShow, "translationX", 0, 100);
ObjectAnimator rotation = ObjectAnimator.ofFloat(ivShow, "rotation", 0, 360);
ObjectAnimator scaleX = ObjectAnimator.ofFloat(ivShow, "scaleX", 0, 1);
ObjectAnimator alpha = ObjectAnimator.ofFloat(ivShow, "alpha", 0, 1);
AnimatorSet animatorSet =new AnimatorSet();
animatorSet.setDuration(5000);
animatorSet.setInterpolator(new AccelerateDecelerateInterpolator());
animatorSet.play(translationX).with(rotation).with(scaleX).with(alpha);
animatorSet.start();
三、分别设置动画
AlphaAnimation alphaAnimation =new AlphaAnimation(1.1f,0.0f);
alphaAnimation.setDuration(2000);
ivShow.setAnimation(alphaAnimation);
alphaAnimation.start();