首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

创办标准的flex库项目

2013-12-19 
创建标准的flex库项目http://jinxinhero.iteye.com/blog/1075368创建标准的flex库项目所谓”标准“是指?使用

创建标准的flex库项目
http://jinxinhero.iteye.com/blog/1075368

创建标准的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" 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 给予了很大的帮助,在此表示感谢 。

热点排行