【Flex Viewer】 开发教程(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打开时的画面:
【Flex <wbr>Viewer】 <wbr>开发教程(2)Widget配置文件
欢迎来我的新浪博客做客: http://blog.sina.com.cn/toto0473
原文地址:https://www.cnblogs.com/toto0473/p/2493769.html