Android splash screen are normally used to show user some kind of progress before the app loads completely. Some people uses splash screen just to show case their app / company logo for a couple of second. In this tutorial we are going to learn how to implement splash screen in your android application.
Android Splash Screen Using Timer
1) Create a new project in Eclipse by navigating to File ⇒ New Android ⇒ Application Project and fill required details. (I kept my main activity name as MainActivity.java)
2) For Splash Screen we are creating a separate activity. Create a new class in your package and name it as SplashScreen.java
3) Open your your AndroidManifest.xml file and make your splash screen activity as Launcher activity.
AndroidManifest.xml
<?xml version=”1.0″ encoding=”utf-8″?>
<manifest xmlns:android=”http://schemas.android.com/apk/res/android”
package=”info.w2class.androidsplashscreentimer”
android:versionCode=”1″
android:versionName=”1.0″ >
<uses-sdk
android:minSdkVersion=”8″
android:targetSdkVersion=”17″ />
<application
android:allowBackup=”true”
android:icon=”@drawable/ic_launcher”
android:label=”@string/app_name”
android:theme=”@style/AppTheme” >
<!– Splash screen –>
<activity
android:name=”info.w2class.androidsplashscreentimer.SplashScreen”
android:label=”@string/app_name”
android:screenOrientation=”portrait”
android:theme=”@android:style/Theme.Black.NoTitleBar” >
<intent-filter>
<action android:name=”android.intent.action.MAIN” />
<category android:name=”android.intent.category.LAUNCHER” />
</intent-filter>
</activity>
<!– Main activity –>
<activity
android:name=”info.w2class.androidsplashscreentimer.MainActivity”
android:label=”@string/app_name” >
</activity>
</application>
</manifest>
4) Create a layout file for splash screen under res ⇒ layout folder. I named the layout file asactivity_splash.xml. This layout normally contains your app logo or company logo.
activity_splash.xml
<?xml version=”1.0″ encoding=”utf-8″?>
<RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:background=”@drawable/gradient_background” >
<ImageView
android:id=”@+id/imgLogo”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_centerInParent=”true”
android:src=”@drawable/wwe_logo” />
<TextView
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:layout_marginBottom=”10dp”
android:textSize=”12dp”
android:textColor=”#454545″
android:gravity=”center_horizontal”
android:layout_alignParentBottom=”true”
android:text=”www.w2class.info” />
</RelativeLayout>
5) Add the following code in SplashScreen.java activity. In this following code a handler is used to wait for specific time and once the timer is out we launched main activity.
SplashScreen.java
package info.w2class.androidsplashscreentimer;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
public class SplashScreen extends Activity {
// Splash screen timer
private static int SPLASH_TIME_OUT = 3000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
new Handler().postDelayed(new Runnable() {
/*
* Showing splash screen with a timer. This will be useful when you
* want to show case your app logo / company
*/
@Override
public void run() {
// This method will be executed once the timer is over
// Start your app main activity
Intent i = new Intent(SplashScreen.this, MainActivity.class);
startActivity(i);
// close this activity
finish();
}
}, SPLASH_TIME_OUT);
}
}