Apache Flex 4.16.1 API Reference | All Packages | All Classes | Index | Frames No Frames |
SplashScreenImage

Package | spark.preloaders
Class | public class SplashScreenImage
Inheritance | SplashScreenImage 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 Syntax Show MXML Syntax
Hide 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 Property `mxmlContent`

View the examples

See also

spark.preloaders.SplashScreenImageSource
spark.components.Application.splashScreenImage

Public Properties

| Property | Defined By
--- | --- | ---
|  | mxmlContent : Array The SplashScreenImageSource sources for this SplashScreenImage. | SplashScreenImage

Public Methods

| Method | Defined By
--- | --- | ---
|  | SplashScreenImage() Constructor. | SplashScreenImage
|  | getImageClass(aspectRatio:String, dpi:Number, resolution:Number):Class Returns the Class of the SplashScreenImageSource that best matches the specified device parameters. | SplashScreenImage
|  | 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

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>

Wed Nov 15 2017, 09:50 AM +01:00