Breaking News


Friday, 3 January 2014

HOW TO IMPLEMENT ANDROID SPLASH SCREEN

How to implement Android Splash Screen


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. Unfortunately in android we don’t have any inbuilt mechanism to show splash screen compared to iOS. In this tutorial we are going to learn how to implement splash screen in your android application.

Splash screen use case scenarios

The purpose of splash screen depends upon the app requirement. Check out the following diagram which gives explanation about two use case scenarios.

1. 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 asSplashScreen.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.androidhive.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.androidhive.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.androidhive.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.androidhive.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.NISHAL.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);
    }
}

output :-

Android Splash Screen


SHARE ON ARTICALE....
Share This
Blogger
Facebook
Disqus

comments powered by Disqus

No comments :

Post a Comment

Subscribe
Labels
Popular Posts

Subscribe Via Email

About Us

THIS IS ANDROID AND JAVA FREE TUTORIAL AND ALL PROVIDE SOLUTION IN ANDROID AND JAVA INTERVIEW QUE AND ANS IS AVAILABLE IN MY BLOG AND ANY QUERY PLEASE CONTACT ME GO NOW CONTACT US PAGE.

Total Pageviews

© Android and Java solution All rights reserved | Designed By Fireandroids