微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flex Viewer 开发教程2Widget配置文件

  2        Widget 配置文件

在Flex Viewer的设计中,每个Widget都可以有一个配置文件,来配置Widget所需要的各种资源,提倡的做法是配置文件名与Widget名称保持一致,并且位于同一目录下。当然,Widget的配置文件不是必须的,当不需要配置信息时,配置文件可省略。在《Flex Viewer解析》中,我们以HelloWorldWidget为例,说明如何在Flash Builder中实现自定义Widget。下面我们同样以HelloWorldWidget为例,来说明Widget如何从其配置文件获取资源信息。

先来看一下HelloWorldWidget.xml,也就是配置文件内容

<?xml version="1.0" ?>

<configuration>

       <hellocontent>Hello,Flex Viewer!</hellocontent>

</configuration>

再来看一下HelloWorldWidget的实现代码,如下:

<?xml version="1.0" encoding="utf-8"?>

<viewer:BaseWidget xmlns:fx="http://ns.adobe.com/mxml/2009"

                               xmlns:s="library://ns.adobe.com/flex/spark"

                               xmlns:mx="library://ns.adobe.com/flex/mx"

                               xmlns:viewer="com.esri.viewer.*"

                               layout="absolute" width="400" height="300"

                               widgetConfigLoaded="init()">

       <fx:Script>

              <![CDATA[

                     [Bindable]

                     private var helloContent:String;

 

                     private function init():void{

                            if (configXML){

                                   helloContent=String(configXML.hellocontent);

                            }

                     }

              ]]>

       </fx:Script>

       <viewer:WidgetTemplate>

              <s:HGroup width="100%"

                              height="100%"

                              horizontalAlign="center"

                              verticalAlign="middle">

                     <s:Label text="{helloContent}"/>

              </s:HGroup>

       </viewer:WidgetTemplate>

</viewer:BaseWidget>

         ①     widgetConfigLoaded事件

widgetConfigLoaded事件是BaseWidget中设计的一个事件,用来说明Widget对应的配置文件已经成功读取。通常在这个事件的响应方法中解析XML数据,获取所需的资源信息。如果自定义Widget需要配置文件中的信息,如所示,设置widgetConfigLoaded事件的响应方法即可。

          ②    响应方法

widgetConfigLoaded事件的响应方法,在该方法中对XML配置信息进行解析。

          ③    configXML对象

Widget配置文件一个XML文档,configXML是在BaseWidget中定义的XML对象,用来表示配置文件的XML数据。通常,widgetConfigLoaded事件的响应方法中,直接访问configXML即可。

           ④    解析配置信息

从configXML中获取所需资源信息,此处是ActionScript中对于XML数据的操作,可参考相关教程。

           ⑤    使用配置信息

配置信息可以有多种使用方式,此处只是简单的把字符串信息显示出来。除此之外,配置信息可以是各种资源的url、对Timer设置的时间间隔等等。

在具体系统的开发过程中,应尽可能多的将Widget用到的资源放到配置文件中,这样的话,即便在系统交付之后,用户可以通过修改配置文件达到特定需求,而不需要更改源代码。下图是HelloWorldWidget打开时的画面:

\

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐