zoukankan      html  css  js  c++  java
  • 在Flex中定义移动设备应用程序和启动屏幕

    创建移动设备应用程序容器

    移动设备应用程序中的第一个标签通常是以下标签之一:
    • <s:ViewNavigatorApplication> 标签用于定义只有一个部分的移动设备应用程序。

    • <s:TabbedViewNavigatorApplication> 标签用于定义有多个部分的移动设备应用程序。

    开发用于平板电脑的应用程序时,屏幕大小限制并不像在手机应用程序中那样重要。因此,对于平板电脑,不需要以小视图来构建应用程序。可以使用标准 Spark Application 容器以及受支持的移动设备组件和外观来构建应用程序。

    注: 在开发任何移动设备应用程序时(即使是用于移动设备的程序),都可以使用 Spark Application 容器。但是,Spark Application 容器不支持视图导航、数据持久化机制、设备的后退和菜单按钮。有关更多信息,请参阅关于 Application 容器移动设备应用程序容器与 Spark Application 容器的区别

    移动设备应用程序容器具有以下默认的特性:

    特性

    Spark ViewNavigatorApplication 和 TabbedViewNavigatorApplication 容器

    默认大小

    100% 高,100% 宽,占整个可用屏幕空间。

    子代布局

    由组成应用程序视图的各 View 容器定义。

    默认内边距

    0 像素。

    滚动条

    无。如果在应用程序容器的外观中添加滚动栏,用户可以滚动整个应用程序。包括应用程序的 ActionBar 和选项卡栏区域。您通常并不希望滚动视图的这些区域。因此,将滚动条添加到应用程序的各 View 容器中,而不是添加到应用程序容器的外观中。

    移动设备应用程序容器与 Spark Application 容器的区别

    Spark 移动设备应用程序容器的大部分功能与 Spark Application 容器相同。例如,可以对移动设备应用程序容器应用样式,其方法与 Spark Application 容器的样式应用方法相同。

    Spark 移动设备应用程序容器有一些与 Spark Application 容器不同的特征:

    • 支持持久化

      支持在磁盘中存储和加载数据。通过持久化机制,用户可以中断移动设备应用程序的运行,例如接听电话,然后在通话结束时恢复应用程序的状态。

    • 支持视图导航

      ViewNavigatorApplication 容器自动创建一个 ViewNavigator 容器,以控制视图之间的导航。

      TabbedViewNavigatorApplication 容器自动创建一个 TabbedViewNavigator 容器,以控制部分之间的导航。

    • 支持设备的后退和菜单按钮

      当用户按下后退按钮时,应用程序将导航回到堆栈中的上一个视图。当用户按下菜单按钮时,将显示当前视图的 ViewMenu 容器(如果已经定义)。

    有关 Spark 应用程序容器的更多信息,请参阅 About the Application container

    处理应用程序级别的事件

    NativeApplication 类代表一个 AIR 应用程序。它负责提供应用程序信息和应用程序级功能,并分派应用程序级事件。可以使用静态属性 NativeApplication.nativeApplication 来访问与移动设备应用程序对应的 NativeApplication 类的实例。

    例如,NativeApplication 类定义了可以在移动设备应用程序中处理的 invoke 和 exiting 事件。下面的示例引用该 NativeApplication 类,来定义 exiting 事件的事件处理函数:

    <?xml version="1.0" encoding="utf-8"?>
    <!-- containersmobileSparkNativeApplicationEvent.mxml -->
    <s:ViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark"
        firstView="views.EmployeeMainView"
        creationComplete="creationCompleteHandler(event);">
        
        <fx:Script>
            <![CDATA[
                import mx.events.FlexEvent;
    
                protected function creationCompleteHandler(event:FlexEvent):void {
                    // Reference NativeApplication to assign the event handler.
                    NativeApplication.nativeApplication.addEventListener(Event.EXITING, myExiting);
                }
                
                protected function myExiting(event:Event):void {
                    // Handle exiting event.
                }
            ]]>
        </fx:Script>
        
    </s:ViewNavigatorApplication>

    请注意,需使用 ViewNavigatorApplication.navigator 属性来访问 ViewNavigator。

    从应用程序描述符文件获取详细信息

    我们可以xxx-app.xml应用程序描述符文件中,自定义信息,达到设置全局变量的目的,并在运行获取他:

    var xmlObj:XML = NativeApplication.nativeApplication.applicationDescriptor;
    var ns:Namespace = xmlObj.namespace();
    var address:String = xmlObj.ns::serverAddress;
    var address:String = xmlObj..serverAddress;
    var currentVersion:String = xmlObj.ns::versionNumber;

    在应用程序中添加启动屏幕

    Spark Application 容器是 ViewNavigatorApplication 和 TabbedViewNavigatorApplication 容器的基类。用于 Spark 主题时,Spark Application 容器支持应用程序预加载器,以显示应用程序 SWF 文件的下载和初始化进度。

    用于 Mobile 主题时,则可以显示启动屏幕。启动屏幕在应用程序启动期间显示。

    注: 要在桌面应用程序中使用启动屏幕,请将 Application.preloader 属性设置为 spark.preloaders.SplashScreen。同时将 frameworkslibsmobilemobilecomponents.swc 添加到应用程序的库路径中。
  • 相关阅读:
    Redis使用详细教程
    Web API 强势入门指南
    log4net
    ASP.NET Web API——选择Web API还是WCF
    Hadoop RPC机制
    力扣算法:每日温度
    力扣算法:完全平方数
    力扣算法:岛屿数量
    面试总结二
    面试总结
  • 原文地址:https://www.cnblogs.com/fuland/p/3629336.html
Copyright © 2011-2022 走看看