Today we’re going to create a splash screen for your Android app. A splash screen is usually an image or a view that appears to the user while the app is loading, it is also a way to make your brand or logo easier to be recognize by the user. Some android apps that uses splash screens include Facebook, Pocket and of course, the game apps. I’m going to show you two ways to create android splash screens.

Splash Screen With Two Activities
The first way I’m gonna teach you is using two activities, the first activity will be our splash screen and the second activity will be our app’s main screen. The splash screen activity will be shown for four seconds and then it will show the next activity. Download the code here:
Here are the files we need:

SplashScreenActivity.java – The initial activity executed. This activity will end with an animation that depends on the device.
// remove title bar
requestWindowFeature(Window.FEATURE_NO_TITLE);
// our layout xml
setContentView(R.layout.activity_splash_screen);
// we're gonna use a timer task to show the main activity after 4 seconds
TimerTask task = new TimerTask() {
@Override
public void run() {
// go to the main activity
Intent nextActivity = new Intent(SplashScreenActivity.this,
MainActivity.class);
startActivity(nextActivity);
// make sure splash screen activity is gone
SplashScreenActivity.this.finish();
}
};
// Schedule a task for single execution after a specified delay.
// Show splash screen for 4 seconds
new Timer().schedule(task, 4000);
}
}
MainActivity.java – Our app’s main screen, where the main functions of your app should be seen.
package com.example.splashscreenexample;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// remove title bar
requestWindowFeature(Window.FEATURE_NO_TITLE);
// our main activity layout
setContentView(R.layout.activity_main);
}
}
codeofaninja350pxwidth.png – An example image used in the splash screen. This is included in the code download.
Splash Screen with One Activity
The second way to create a splash screen is using just one activity – your MainActivity. It should be covered with an ImageView first and then after few seconds, it will disappear with a simple fade-out animation to make it look smooth. Download code this code:
Files we need are highlighted below:

MainActivitity.java – The file with double purpose, it will show our splash screen and then main screen.
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.view.Window;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.ImageView;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// remove title bar.
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
// our timer task.
TimerTask task = new TimerTask() {
@Override
public void run() {
// we have to run it on UI thread so we won't get view error
MainActivity.this.runOnUiThread(new Runnable() {
public void run() {
// get the splash image
ImageView splashImage = (ImageView) MainActivity.this
.findViewById(R.id.imageViewSplashLogo);
// make the splash image invisible
splashImage.setVisibility(View.GONE);
// specify animation
Animation animFadeOut = AnimationUtils.loadAnimation(MainActivity.this,
R.anim.splash_screen_fadeout);
// apply the animattion
splashImage.startAnimation(animFadeOut);
}
});
}
};
// Schedule a task for single execution after a specified delay.
// Show splash screen for 4 seconds
new Timer().schedule(task, 4000);
}
}
splash_screen_fadeout.xml – It will make our splash screen gone beautifully – a simple fade-out animation.
<?xml version="1.0" encoding="utf-8"?>
<!--
-zAdjustment makes sure the activity is on top
-interpolator defines the rate of change of an animation
-we use decelerate_interpolator to reduce animation speed from visible (Alpha 1.0) to invisible (Alpha 0.0)
-->
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:fromAlpha="1.0"
android:interpolator="@android:anim/decelerate_interpolator"
android:toAlpha="0.0"
android:zAdjustment="top" />
codeofaninja350pxwidth.png – our example logo.
Output screenshots:


Thanks for reading this Ways to Create a Splash Screen for Android App!
