package com.example.jingbin.cloudreader.ui; import android.content.Intent; import android.databinding.DataBindingUtil; import android.os.Bundle; import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.view.animation.Animation; import com.bumptech.glide.Glide; import com.example.jingbin.cloudreader.MainActivity; import com.example.jingbin.cloudreader.R; import com.example.jingbin.cloudreader.app.ConstantsImageUrl; import com.example.jingbin.cloudreader.databinding.ActivityTransitionBinding; import com.example.jingbin.cloudreader.utils.CommonUtils; import com.example.jingbin.cloudreader.utils.PerfectClickListener; import java.util.Random; public class TransitionActivity extends AppCompatActivity { private ActivityTransitionBinding mBinding; private boolean animationEnd; private boolean isIn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mBinding = DataBindingUtil.setContentView(this, R.layout.activity_transition); int i = new Random().nextInt(ConstantsImageUrl.TRANSITION_URLS.length); // 先显示默认图 mBinding.ivDefultPic.setImageDrawable(CommonUtils.getDrawable(R.drawable.img_transition_default)); Glide.with(this) .load(ConstantsImageUrl.TRANSITION_URLS[i]) .placeholder(R.drawable.img_transition_default) .error(R.drawable.img_transition_default) .into(mBinding.ivPic); new Handler().postDelayed(new Runnable() { @Override public void run() { mBinding.ivDefultPic.setVisibility(View.GONE); } }, 1500); new Handler().postDelayed(new Runnable() { @Override public void run() { toMainActivity(); } }, 3500); // Animation animation = AnimationUtils.loadAnimation(this, R.anim.transition_anim); // animation.setAnimationListener(animationListener); // mBinding.ivPic.startAnimation(animation); mBinding.tvJump.setOnClickListener(new PerfectClickListener() { @Override protected void onNoDoubleClick(View v) { toMainActivity(); // animationEnd(); } }); } /** * 实现监听跳转效果 */ private Animation.AnimationListener animationListener = new Animation.AnimationListener() { @Override public void onAnimationEnd(Animation animation) { animationEnd(); } @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationRepeat(Animation animation) { } }; private void animationEnd() { synchronized (TransitionActivity.this) { if (!animationEnd) { animationEnd = true; mBinding.ivPic.clearAnimation(); toMainActivity(); } } } private void toMainActivity() { if (isIn) { return; } Intent intent = new Intent(this, MainActivity.class); startActivity(intent); overridePendingTransition(R.anim.screen_zoom_in, R.anim.screen_zoom_out); finish(); isIn = true; } }