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

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

more

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

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

more

VR/360MOVIE

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

more
CONTACT 052-253-9866

【Android Studio】アプリの画面読み込み前にスプラッシュを表示する!

2014.05.18 日曜日 11:20:40

ZUN_odorumizu0054_02

さて、前回Android Studioを再インストールする羽目になりましたが、
ブログに残していた甲斐があったようで、まとめを確認しながら素早くセットアップを行うことができました。

今回はまず簡単な部分から作ってみようと思い、アプリ起動時に画像を表示する方法、
「スプラッシュ画面」と呼ばれる部分の実装方法について調べました。

実装の手順

まず、スプラッシュ表示時のみ使用するテーマを設定から。
以下のソースを参考に、AndroidManifest.xmlのapplicationを変更します。
テーマ名は今回「SplashTheme」にしてあります。

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/SplashTheme" >

続いて、values/styles.xmlを以下のように変更しました。

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- 通常時のテーマの内容 -->
    </style>
    <style name="AppFirstTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- 初回起動時のテーマの内容 -->
        <item name="android:windowBackground">@drawable/splash</item>
    </style>
</resources>

次に、@drawable/splashを作成します。今回は「logo1」という画像を表示させます。

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item>
        <shape android:shape="rectangle" >
            <solid android:color="#000000" />
        </shape>
    </item>
    <item>
        <bitmap
            android:gravity="center"
            android:src="@drawable/logo1" />
    </item> 
</layer-list>

splash.xmlと一緒に、画像も忘れずに設置。今回は以下のようなディレクトリ構造になりました。

スクリーンショット 2014-05-18 11.14.04

最後に、Mainactivity.javaのonCreateにテーマをセットします。こちらが通常時のテーマになります。

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setTheme(R.style.AppTheme);
        setContentView(R.layout.activity_main);
    }

以上で完了です!これでアプリを起動してみると、最初に設定した画像が表示されます!
表示されますが、ちょっと思ってた感じと違いました…

参考にさせて頂いたサイトをよく読むと、少し用途が違っておりました。
最初にロゴを出してタイトル画面のようなものをつくるわけではなく、読み込み中に画像を表示させて、
ローディング画像のような意味合いで使うことだったようです。

なるほど、無駄なスプラッシュはユーザーを待たせるだけということですね。
逆に、ページ読み込み中にはローディング代わりにスプラッシュを見せて、体感速度を上げようというわけです。
UXの向上に必要なポイントとなりそうですね!

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

田中 義弘

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

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