package com.thisplace.mindrdr; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.AnimatorSet; import android.animation.ObjectAnimator; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.WindowManager; import android.widget.ImageView; public class SplashActivity extends Activity { private ImageView mSplash; private ImageView mInside; private ImageView mBlackBg; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_splash); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); mSplash = (ImageView) findViewById(R.id.splash); mInside = (ImageView) findViewById(R.id.inside); mBlackBg = (ImageView) findViewById(R.id.black_bg); showSplash(); } // intro splash screen fades private void showSplash() { mSplash.setVisibility(View.INVISIBLE); mInside.setVisibility(View.VISIBLE); mInside.setImageAlpha(0); AnimatorSet set = new AnimatorSet(); ObjectAnimator animation = ObjectAnimator.ofInt(mInside, "ImageAlpha", 0, 100); animation.setDuration(700); animation.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { fadeOutInside(); } }); set.play(animation); set.start(); } private void fadeOutInside() { AnimatorSet set = new AnimatorSet(); ObjectAnimator animation = ObjectAnimator.ofInt(mInside, "ImageAlpha", 100, 0); animation.setDuration(700); animation.setStartDelay(2000); animation.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { fadeInSplash(); } }); set.play(animation); set.start(); } private void fadeInSplash() { mSplash.setImageAlpha(0); mSplash.setVisibility(View.VISIBLE); mInside.setVisibility(View.INVISIBLE); AnimatorSet set = new AnimatorSet(); // Using property animation ObjectAnimator animation = ObjectAnimator.ofInt(mSplash, "ImageAlpha", 0, 100); animation.setDuration(700); animation.setStartDelay(1000); animation.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { setResult(RESULT_OK); finish(); } }); set.play(animation); set.start(); } }