import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.content.Intent; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; import android.util.DisplayMetrics; import android.widget.ImageView; import baidu.com.myapplication.R; public class SplashActivity extends AppCompatActivity{ @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.splashactivity); //初始化视图 initViews(); } //初始化视图的类 private void initViews() { //找到控件 ImageView im=findViewById(R.id.spla_im); /* * 设置动画 * */ //获取屏幕的高度 DisplayMetrics displayMetrics = getResources().getDisplayMetrics(); int heightPixels = displayMetrics.heightPixels; //平移 ObjectAnimator translationY = ObjectAnimator.ofFloat(im, "translationY", 0, heightPixels/2-im.getHeight()); //旋转 ObjectAnimator rotation = ObjectAnimator.ofFloat(im, "rotation", 0, 360); //缩放 ObjectAnimator scaleX = ObjectAnimator.ofFloat(im, "scaleX", 2.0f, 1.0f); ObjectAnimator scaleY = ObjectAnimator.ofFloat(im, "scaleY", 2.0f, 1.0f); //渐变 ObjectAnimator alpha = ObjectAnimator.ofFloat(im, "alpha", 1.0f, 0.0f); //动画集合 AnimatorSet animatorSet = new AnimatorSet(); //把动画效果方在一起 animatorSet.playTogether(translationY,rotation,scaleX,scaleY,alpha); //设置动画的时间 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); //关闭界面 finish(); } }); } } 过渡动画xml 开始:<?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:toXDelta="0%" android:fromXDelta="100%" android:duration="2000" > </translate> 结束:<translate xmlns:android="http://schemas.android.com/apk/res/android" android:toXDelta="-100%" android:fromXDelta="0%" android:duration="2000" > </translate>
属性动画+过度动画
最新推荐文章于 2021-05-25 18:51:09 发布