【Flex Viewer】(4)自定义Widget

【Flex Viewer】(四)自定义Widget

 
终于可以实现第一个Widget了,按照惯例,我们通过一个Hello World Widget来说明如何在Flex Viewer中开发、编译、配置、部署和使用自定义Widget。Flex Viewer的源代码中已经包含了一个HelloWorld Widget,我们还是亲手尝试一下吧。
1)   安装Flash Builder,下载Flex Viewer源码,我们使用最新的2.3;
2)   打开Flash Builder,导入Flex Viewer 2.3的源代码;
3)   鼠标放在widgets包上,单击右键,在弹出的菜单中选择New,然后单击MXML Component;
【Flex Viewer】(四)自定义Widget - cruelchen - 请重启您的计算........

 
4)   在New MXML Component对话框中,输入包名“widgets.HelloWorld”,填写Widget名称“HelloWorldWidget”,并选择基类BaseWidget,单击Finish; 
【Flex Viewer】(四)自定义Widget - cruelchen - 请重启您的计算........

5)   此时,HelloWorldWidget已经创建完毕,按照Flex Viewer提倡的做法,在其包下新建一个同名xml配置文件,即“HelloWorldWidget.xml”;
6)   此时,HelloWorldWidget不会被编译,因为还未把它加入到Module列表。打开工程的属性窗口,点击Flex Modules,点击Add键,将HelloWorldWidget加入到Module列表中。点击OK,会发现HelloWorldWidget的图标已经和其他的Widget一样;
【Flex Viewer】(四)自定义Widget - cruelchen - 请重启您的计算........
 
7)   启动编译,编译后会发现在bin-debug目录下,HelloWorldWidget已经被编译成swf文件;


【Flex Viewer】(四)自定义Widget - cruelchen - 请重启您的计算........


8)   下面开始实现HelloWorldWidget的业务逻辑,在Widget面板中显示出配置文件中的“Hello,Flex Viewer!”字符串。配置文件内容:
<?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>
9)   在config.xml对HelloWorldWidget进行配置,如下:
<widgetcontainer>
<widget label="HelloWorld" icon="assets/images/i_solar.png"
        config="widgets/HelloWorld/HelloWorldWidget.xml"
        url="widgets/HelloWorld/HelloWorldWidget.swf"/>
</widgetcontainer>
10)编译,运行!Hello,Flex Viewer!
【Flex Viewer】(四)自定义Widget - cruelchen - 请重启您的计算........
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值