`
jiaoronggui
  • 浏览: 1347147 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
博客专栏
B7c2eb31-a8ea-3973-a517-d00141f39b89
项目管理软件-redmin...
浏览量:117225
4a63e153-250f-30f6-a051-97cfc67cb3d3
IT职业规划
浏览量:200662
社区版块
存档分类
最新评论

How to create android splash screen

 
阅读更多

In this tutorial I’m going to show you how to easily create an android splash screen in your application.

The whole idea of this sample implementation is to start and display an activity for a certain amount of time and then start new activity. Our activity code is listed below.

SplashActivity.java

package com.itcuties.tutorial.android;
 
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Window;
import android.view.WindowManager;
 
public class SplashActivity extends Activity {
 
   private static String TAG = SplashActivity.class.getName();
   private static long SLEEP_TIME = 5;    // Sleep for some time
 
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
 
      this.requestWindowFeature(Window.FEATURE_NO_TITLE);    // Removes title bar
      this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);    // Removes notification bar
 
      setContentView(R.layout.splash);
 
      // Start timer and launch main activity
      IntentLauncher launcher = new IntentLauncher();
      launcher.start();
   }
 
   private class IntentLauncher extends Thread {
      @Override
      /**
       * Sleep for some time and than start new activity.
       */
      public void run() {
         try {
            // Sleeping
            Thread.sleep(SLEEP_TIME*1000);
         } catch (Exception e) {
            Log.e(TAG, e.getMessage());
         }
 
         // Start main activity
         Intent intent = new Intent(SplashActivity.this, MainActivity.class);
         SplashActivity.this.startActivity(intent);
         SplashActivity.this.finish();
      }
   }
}

 

As you see the implementation is really simple. We have a private class which is responsible for waiting some amount of time and launching a main activity in a new thread. We construct and start this thread at the end of onCreate method when a view has been set.

Remember that SplashActivity is the starting activity of our application so don’t forget to set android.intent.category.LAUNCHER category in Your AndroidManifest.xml file. Our sample manifest file code looks like this

AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
         package="com.itcuties.tutorial.android"
         android:versionCode="1"
         android:versionName="1.0" >
 
   <uses-sdk
      android:minSdkVersion="7"
      android:targetSdkVersion="7" />
 
   <application
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      <activity
         android:name=".SplashActivity">
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
      </activity>
      <activity
         android:name=".MainActivity"
         android:label="@string/title_activity_main" >
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
         </intent-filter>
      </activity>
   </application>
 
</manifest>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics