MIRAI THE FUTURE このページをアンテナに追加 RSSフィード

2010-01-26

Androidアプリスプラッシュ画面を表示させる方法

やっと分かった!Androidアプリスプラッシュ(Splash)画面を表示させる方法が!

今までググっても、「これだっ!」って情報が無かったんですが、今日買った「コードからわかるAndroidプログラミングのしくみ 開発で困ったときの解決アプローチ」という本に書いてありました。

というわけで、そのやり方を書いておきます。

Androidプロジェクトのなかで書き換える箇所は、以下の3つです。

  1. スプラッシュ画面のレイアウトの定義用XML(splash.xml)
  2. スプラッシュ画面を実装したアクティビティクラス(SplashActivity.java)
  3. AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    >
    <ImageView     		
		android:layout_width="fill_parent" 
		android:layout_height="fill_parent" 
		android:scaleType="centerInside"
		android:src="@drawable/logo"
	/> 
</LinearLayout>
  • SplashActivity.java
public class SplashActivity extends Activity {	
	@Override
	protected void onCreate(Bundle savedInstanceState) {		
		super.onCreate(savedInstanceState);				
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.splash);
		Handler hdl = new Handler();
		hdl.postDelayed(new splashHandler(), 500);
		
	}
	class splashHandler implements Runnable {
		public void run() {
			Intent i = new Intent(getApplication(), MainActivity.class);
			startActivity(i);
			SplashActivity.this.finish();
		}		
	}	
}
  • AndroidManifest.xmlの一部
<activity android:name=".SplashActivity" android:screenOrientation="portrait" android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

これでアプリ起動時に、スプラッシュ画面が表示されます。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証