创建标准的flex库项目

[url]http://jinxinhero.iteye.com/blog/1075368[/url]

创建标准的flex库项目


所谓”标准“是指


•使用命名空间方式来引入组件标签。
•引入命名空间时,前缀有默认值,如在flex3中组件的前缀基本为mx。

达到的效果





Mxml代码 复制代码 收藏代码
1.<span style="font-size: small;"><?xml version="1.0" encoding="utf-8"?>
2.<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
3. layout="absolute"
4. minWidth="955"
5. minHeight="600"
6. xmlns:jx="http://jx.founder.com/2010/flex">
7. <mx:Script>
8. <![CDATA[
9. import jx.components.MyCheckBox;
10.
11. private function init():void {
12. var c:MyCheckBox;
13. }
14. ]]>
15. </mx:Script>
16. <jx:MyButton/>
17.</mx:Application>
18.</span>




MyButton是我自定义的一个组件。当我以mxml标签方式使用该组件时,flashBuilder会自动帮我引入命名空间并给出前缀(xmlns:jx="http://jx.founder.com/2010/flex")。

第一步,创建库项目

没什么好说的。

第二步,创建一个名为MyButton的自定义组件,代码如下:




Actionscript 3.0代码 复制代码 收藏代码
1.<span style="font-size: small;">package jx.components {
2. import mx.controls.Button;
3.
4. [IconFile("MyButton.png")]
5. public class MyButton extends Button {
6. public function MyButton() {
7. super();
8. this.label = "测试";
9. }
10. }
11.}</span>




第三步,src目录下创建一个xml,取名为jx-manifest.xml。








Xml代码 复制代码 收藏代码
1.<?xml version="1.0" encoding="UTF-8"?>
2.<componentPackage>
3. <component id="MyButton" class="jx.components.MyButton"/>
4.</componentPackage>








这是一个清单文件。它的作用像一个对照表,它把组件名和它实际的类全名对应起来。

这里的id属性指定是的就是组件名。组件名可以与类名完全没有关系,比如你可以把MyButton换成TestBtn。TestBtn相当于给jx.components.MyButton起了个别名,以后在程序中就可以使用TestBtn来引用该类了。



第四步,创建xml,名为design.xml,放在src目录下。该文件内容如下:


Xml代码 复制代码 收藏代码
1.<?xml version="1.0" encoding="utf8"?>
2.<design version="2">
3. <namespaces>
4. <namespace prefix="jx" uri="http://jx.founder.com/2010/flex"/>
5. </namespaces>
6.
7. <categories>
8. <category id="myControls" label="我的组件" defaultExpand="true"/>
9. </categories>
10.
11. <components>
12.
13. <component id="jx.components.MyButton"
14. name="jx.components.MyButton"
15. namespace="jx"
16. category="myControls">
17. </component>
18. </components>
19.</design>


design.xml是一个设计辅助文件。flashbuilder通过它实现,为标签指定默认前缀,为组件分类等功能。

<category id="myControls" label="我的组件" defaultExpand="true"/>这句,定义设计视图组件面板文件夹分类,label指定在组件面板里的文件夹显示名称,如下图所示:






在库项目属性面板里找到资源选项卡,把刚才的两个xml文件勾选上。





最终的文件结构如下图:





第五步 配置项目属性

指定命名空间Namespace URI

指定清单文件Manifest file

如图





至此,标准库项目创建完成。


Actionscript 3.0代码 复制代码 收藏代码
1.<?xml version="1.0" encoding="utf-8"?>
2.<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
3. layout="absolute"
4. minWidth="955"
5. minHeight="600"
6. xmlns:jx="http://jx.founder.com/2010/flex">
7. <mx:Script>
8. <![CDATA[
9. import jx.components.MyCheckBox;
10.
11. private function init():void {
12. var c:MyCheckBox;
13. }
14. ]]>
15. </mx:Script>
16. <jx:MyButton/>
17.</mx:Application>

特别注意:

一、在实践中发现一个缺点:通过上述方式创建库项目后,在使用时,那些通过清单文件定义的组件可以在编写mxml正确提示(如:MyButton),但MyCheckBox由于没有在清单文件中描述,在写mxml标签时就不会自动提示了。但代码方式是可以引用到的。因此,应该将可以用标签方式定义的组件都配置在清单文件中。

二、两个xml配置文件,如果能使用ant自动生成,效果可以会更好。限于能力,就不实现了。

源码:mylib.zip



RIAMeeting-苏州FLEX(34558988) matt 给予了很大的帮助,在此表示感谢 。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值