プロジェクションマッピング

エンターテインメントから工業利用まで、プロジェクションマッピングの活用・運用をお考えの方へ

more

インタラクティブ&サイネージ

情報表示用のデジタルサイネージから、センサーを利用したインタラクティブ要素などをお考えの方へ

more

VR/360MOVIE

VRHMD用コンテンツからプラットフォームを利用した360度ムービーを活用したPRをお考えの方へ

more
CONTACT 052-253-9866

【Android Studio】iOSアプリのように起動時にスプラッシュを表示!

2014.05.19 月曜日 06:04:33

a0003_001349_m_01-02

前回、ユーザーの体感速度を上げるためのローディング画面の様な役割のスプラッシュの作成方法についてご紹介しましたが、
今回はiPhoneアプリ起動時のイメージで、最初の起動までの待ち時間にタイトルを表示させる方法について調べました。

スプラッシュの表示部分を作成

まず、layout/splash.xmlを作成します。
表示させたい画像のファイル名は「logo1」、背景色が黒になるように指定しました。

<?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"
    android:background="#000000"
    >

    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:scaleType="centerInside"
        android:src="@drawable/logo1"
        />
</LinearLayout>

スプラッシュの動きの部分を作成

続いて、スプラッシュの動きの部分を作成します。
プロジェクト名は「test_1」ファイル名は「SplashActivity.java」としています。
handler.postDelayed(new splashHandler(), 2000); の数字を変更することで、表示時間を調整できます。

package com.example.test_1.app;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.Window;

public class SplashActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.splash);
        Handler handler = new Handler();
        handler.postDelayed(new splashHandler(), 2000);
    }

    class splashHandler implements Runnable {
        public void run() {
            Intent inte = new Intent(getApplication(), MainActivity.class);
            startActivity(inte);
            SplashActivity.this.finish();
        }
    }
}

AndroidManifest.xmlの記述

AndroidManifest.xmlに追記を行います。
intent-filterを追記、今回は以下のようなソースになりました。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.test_1.app" >

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.test_1.app.SplashActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="com.example.test_1.app.MainActivity" />
    </application>

</manifest>

画像も忘れないようにディレクトリに配置しましょう!今回は以下のように配置しました。

スクリーンショット 2014-05-19 6.00.04

これで、iOSアプリのように起動時にスプラッシュが表示されます。
ただ、表示時間やタイミングなどはよく考えて、ユーザーに不快感を与えないような作りを意識したいですね!

今回参考にさせて頂いたサイトはこちらです。ありがとうございました!
Category:Android , Development , Mac     Tag:
Authorブログの著者について
田中 義弘

田中 義弘

イベントプロダクション・グラフィックデザイナーを経て、2010年3月に株式会社アイデアクラウドを設立。近年、WEBから得た技術をベースに、プロジェクションマッピング事業をはじめとした先端事業をスタート。

Our Business
最近の記事
人気記事
Our Project