Use the SplashScreenImage class to specify different splash screen
images based on characteristics of a mobile device.
For example, you can use different images for a splashscreen based on the
DPI, orientation, or resolution of the device.
You typically define a SplashScreenImage class
in an MXML file.
Use the SplahsScreenImageSource class to define the different
image choices and corresponding device configurations.
You then set the application's splashScreenImage
property to the name of the SplashScreenImage MXML component.
The procedure for determining the best match of an SplahsScreenImageSource
definition to a mobile device is as follows:
Determine all of the SplashScreenImageSource definitions
that match the settings of the mobile device.
A match occurs when:
The SplashScreenImageSource definition does not have that setting explicitly defined.
For example, no setting for the dpi property matches any device's DPI.
For the dpi or aspectRatio property, the property must exactly match
the corresponding setting of the mobile device.
For the minResolution property, the property matches a setting on
the device when the larger of the Stage.stageWidth and
Stage.stageHeight properties is equal to or greater than minResolution.
If there's more than one SplashScreenImageSource definition that matches the device then:
Choose the one with largest number of explicit settings.
For example, a SplashScreenImageSource definition that specifies both the
dpi and aspectRatio properties is a better match
than one that only species the dpi property.
If there is still more than one match, choose the one with highest
minResolution value.
If there is still more than one match, choose the first one defined in the component.
Note: This class cannot be set inline in the MXML of the application.
You must define it in a separate MXML file and reference it by using the
application's splashScreenImage property.
Called after the implementing object has been created and all
component properties specified on the MXML tag have been initialized.
SplashScreenImage
Property Detail
mxmlContent
property
mxmlContent:Array
Language Version :
ActionScript 3.0
Product Version :
Flex 4.6
Runtime Versions :
AIR 3
The SplashScreenImageSource sources for this
SplashScreenImage.
Typically you do not call this method directly.
Instead, you add SplashScreenImageSource definitions
inline in the MXML file of the SplashScreenImage component.
Implementation public function get mxmlContent():Array public function set mxmlContent(value:Array):void
Constructor Detail
SplashScreenImage
()
Constructor
public function SplashScreenImage()
Language Version :
ActionScript 3.0
Product Version :
Flex 4.6
Runtime Versions :
AIR 3
Constructor.
Method Detail
getImageClass
()
method
public function getImageClass(aspectRatio:String, dpi:Number, resolution:Number):Class
Language Version :
ActionScript 3.0
Product Version :
Flex 4.6
Runtime Versions :
AIR 3
Returns the Class of the SplashScreenImageSource that best matches
the specified device parameters.
You do not call this method directly; it is called internally by Flex.
Override this method in a SplashScreenImage component if you want to override
the default Flex logic of picking the best matching SplashScreenImageSource instance.
Parameters
aspectRatio:String — Either flash.display.StageAspectRatio.PORTRAIT or
flash.display.StageAspectRatio.LANDSCAPE, whichever is greater.
dpi:Number — The DPI of the mobile device.
resolution:Number — The resolution of the mobile device's bigger dimension, in pixels.
Returns
Class — The Class for the image to be displayed as a splash screen image.
See also
flash.display.StageAspectRatio
initialized
()
method
public function initialized(document:Object, id:String):void
Language Version :
ActionScript 3.0
Product Version :
Flex 4.6
Runtime Versions :
AIR 3
Called after the implementing object has been created and all
component properties specified on the MXML tag have been initialized.
Parameters
document:Object — The MXML document that created this object.
id:String — The identifier used by document to refer
to this object.
If the object is a deep property on document,
id is null.
Examples
DynamicSplashScreenExample1.mxml
<?xml version="1.0" encoding="utf-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<s:ViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
firstView="views.DynamicSplashScreenExample1HomeView"
splashScreenImage="SplashScreenImage1">
</s:ViewNavigatorApplication>
DynamicSplashScreenExample1HomeView.mxml
<?xml version="1.0" encoding="utf-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" title="HomeView">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
</s:View>
SplashScreenImage1.mxml
<?xml version="1.0" encoding="utf-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<s:SplashScreenImage xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script>
<![CDATA[
[Embed("soccer-ball.jpg")]
private var andImage:Class;
override public function getImageClass(aspectRatio:String, dpi:Number, resolution:Number):Class
{
// Are we running on IOS ?
if (Capabilities.version.indexOf("IOS") == 0)
return andImage;
return super.getImageClass(aspectRatio, dpi, resolution);
}
]]>
</fx:Script>
<!-- no settings, so this acts as default-->
<s:SplashScreenImageSource source="@Embed('image_not_found.jpg')"/>
<!-- specific settings -->
<s:SplashScreenImageSource source="@Embed('pinkball.jpg')"
dpi="160" minResolution="0"/>
<s:SplashScreenImageSource source="@Embed('yellowball.jpg')"
dpi="160" minResolution="500"/>
<s:SplashScreenImageSource source="@Embed('orangball.png')"
dpi="160" minResolution="1000"/>
<s:SplashScreenImageSource source="@Embed('yellowball.jpg')"
dpi="160" minResolution="1000" aspectRatio="portrait"/>
<s:SplashScreenImageSource source="@Embed('yellowball.jpg')"
dpi="240" aspectRatio="portrait"/>
<s:SplashScreenImageSource source="@Embed('pinkball.jpg')"
dpi="240" aspectRatio="landscape"/>
<s:SplashScreenImageSource source="@Embed('pinkball.jpg')"
dpi="320"/>
</s:SplashScreenImage>