AIR for Androidでスプラッシュ画面を実装する

こんにちは。インタラクションディベロップメントグループのtsubokuraです。
最近はスマートフォンの普及も進み、お仕事でもAIR for iOS/Androidを使用してモバイルアプリを作る機会が増えてきましたが、Android版アプリを作っていると1つ問題にぶち当たりました。

Adobe Flash Professional CS6では、Android版アプリのスプラッシュ画面が設定できないのです。

そのため、Android版アプリでは起動時に何も表示されない黒画面が数秒~数十秒続き、バグっぽく見えてしまいます。
そこで少し無理やりではありますが、Flash Builder 4.6 + Flex SDKを使用してAndroidアプリにスプラッシュ画面を設定したのでその方法をご紹介します。

まず、Flash Builderから新規にFlexモバイルプロジェクトを作成してメインのmxmlに以下のソースを記述します。

<?xml version="1.0" encoding="utf-8"?>
<s:Application  xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               backgroundColor="#000000"
               splashScreenImage="@Embed('assets/Default.png')"
               splashScreenMinimumDisplayTime="3000"
               splashScreenScaleMode="letterbox">
   <fx:Declarations>
      <!-- 非ビジュアルエレメント (サービス、値オブジェクトなど) をここに配置 -->
   </fx:Declarations>
   <s:SWFLoader source="./content.swf" width="100%" height="100%"></s:SWFLoader>
</s:Application >

実はもうこれだけでスプラッシュ画面を設定したAndroidアプリが出来ちゃうんです。
具体的には…

splashScreenImage="@Embed('assets/Default.png')"

ここでスプラッシュ画面を設定して、

<s:SWFLoader source="./content.swf" width="100%" height="100%"></s:SWFLoader>

ここで中身となるcontent.swfを読み込んで100%表示しています。
あとはFlash Builderから書き出しを行えばスプラッシュ画面が設定されたアプリが書きだされます。

これでアプリ起動直後にスプラッシュ画面が出るので黒画面で使用者を不安にさせる事もなくなりますね!


related article