Adobe Flexを使ったiOSアプリ(起動時にスプラッシュを出す)

2017年5月26日金曜日

コンピュータ

AdobeAIRを使ったIOSアプリで良いのがスプラッシュを出せる点です。

某環境とかは無料版を利用するとその会社のスプラッシュ画像になったりするので独自に設定できるのはほんとにうれしい。

flexの場合は2つの方法があって、1つは(default package内)の初期起動MXMLに記述する方法。
この場合はXMLで記述すればいいです。


<s:ViewNavigatorApplication
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
splashScreenImage="@Embed('./Default-568h@2x~iphone.png')"
plashScreenMinimumDisplayTime="4000"
splashScreenScaleMode="stretch"
>



splashScreenImage="@Embed('./Default-568h@2x~iphone.png')"
この構文はファイル名をしてしてスプラッシュを表示します。
画像はデバイスのサイズに自動的に拡大縮小されることになります。

plashScreenMinimumDisplayTime="4000"
スプラッシュの表示時間を設定

splashScreenScaleMode="stretch"
拡大縮小の仕方を設定します。



2つめは初期起動MXMLから別のMXMLファイルを呼び出す方法です。
この方法を使えばデバイスごとにスプラッシュ画像を変えることができます。

splashScreenImage="views.SplashScreen"
呼び出すMXMLを指定するだけです。

スプラッシュ用のMXMLは通常のMXMLと変わりませんが、最初の設定がちょっと違う。


<?xml version="1.0" encoding="utf-8"?>
<s:SplashScreenImage
 xmlns:fx="http://ns.adobe.com/mxml/2009"
 xmlns:s="library://ns.adobe.com/flex/spark"
 xmlns:mx="library://ns.adobe.com/flex/mx"
  >
</s:SplashScreenImage>


スプラッシュ用のMXMLでは<fx:script>使えば動作も記述できます。

また、
override public function getImageClass(aspectRatio:String, dpi:Number, resolution:Number):Class

などを使えば、デバイスのサイズが分かるのでそれぞれに応じたスプラッシュ画像も設定できますし、
初期設定なども追加することもできます。