ImageView iv = (ImageView) findViewById(R.id.iv);
DisplayMetrics displayMetrics = this.getResources().getDisplayMetrics();
int heightPixels = displayMetrics.heightPixels/2+iv.getHeight();
ObjectAnimator translationY = ObjectAnimator.ofFloat(iv, "translationY", 0, heightPixels);
ObjectAnimator scaleX = ObjectAnimator.ofFloat(iv, "scaleX", 2f, 1f);
ObjectAnimator scaleY = ObjectAnimator.ofFloat(iv, "scaleY", 2f, 1f);
ObjectAnimator alpha = ObjectAnimator.ofFloat(iv, "alpha", 0, 1f);
ObjectAnimator rotation = ObjectAnimator.ofFloat(iv, "rotation", 0, 360);
AnimatorSet animatorSet = new AnimatorSet();
animatorSet.playTogether(translationY,scaleX,scaleY,alpha,rotation);
animatorSet.setDuration(3000);
animatorSet.start();
animatorSet.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
startActivity(new Intent(SplashActivity.this,MainActivity.class));
overridePendingTransition(R.anim.enter,R.anim.out);
}
});
在src目录下创建anim文件夹,创建'新页面从右进入','旧页面从左出去'的动画
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="100%"
android:toXDelta="0%"
android:duration="1000">
</translate>
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="1000"
android:fromXDelta="0%"
android:toXDelta="-100%">
</translate>