ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Show Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes
spark.preloaders 

SplashScreenImage  - AS3 Flex

Packagespark.preloaders
Classpublic class SplashScreenImage
InheritanceSplashScreenImage Inheritance Object
Implements IMXMLObject

Language Version: ActionScript 3.0
Product Version: Flex 4.6
Runtime Versions: AIR 3

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:

  1. 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.
  2. 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.

MXML SyntaxexpandedHide MXML Syntax

The <s:SplashScreenImage> tag inherits all of the tag attributes of its superclass and adds no new tag attributes:

  <s:SplashScreenImage xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark">
  
      <!-- Define one or more SplashScreenImageSource. -->
      <s:SplashScreenImageSource 
          source="@Embed('assets/logoDefault.jpg')"/>
          
      <s:SplashScreenImageSource 
          source="@Embed('assets/logo240Portrait.jpg')"
          dpi="240" 
          aspectRatio="portrait"/>
   
  </s:SplashScreenImage>
  

Default MXML PropertymxmlContent

View the examples

More examples

Related API Elements



Public Properties
 PropertyDefined By
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
      mxmlContent : Array
The SplashScreenImageSource sources for this SplashScreenImage.
SplashScreenImage
Public Methods
 MethodDefined By
  
Constructor.
SplashScreenImage
  
    getImageClass(aspectRatio:String, dpi:Number, resolution:Number):Class
Returns the Class of the SplashScreenImageSource that best matches the specified device parameters.
SplashScreenImage
 Inherited
Indicates whether an object has a specified property defined.
Object
  
    initialized(document:Object, id:String):void
Called after the implementing object has been created and all component properties specified on the MXML tag have been initialized.
SplashScreenImage
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Returns the primitive value of the specified object.
Object
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.

Related API Elements

    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.
DynamicSplashScreenExample1.mxml
<?xml version="1.0" encoding="utf-8"?>
<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"?>
<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"?>
<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>