锁定老帖子 主题:创建标准的flex库项目
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-06-10
最后修改:2011-06-10
创建标准的flex库项目
所谓”标准“是指
达到的效果
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
minWidth="955"
minHeight="600"
xmlns:jx="http://jx.founder.com/2010/flex">
<mx:Script>
<![CDATA[
import jx.components.MyCheckBox;
private function init():void {
var c:MyCheckBox;
}
]]>
</mx:Script>
<jx:MyButton/>
</mx:Application>
MyButton是我自定义的一个组件。当我以mxml标签方式使用该组件时,flashBuilder会自动帮我引入命名空间并给出前缀(xmlns:jx="http://jx.founder.com/2010/flex")。 第一步,创建库项目 没什么好说的。 第二步,创建一个名为MyButton的自定义组件,代码如下:
package jx.components {
import mx.controls.Button;
[IconFile("MyButton.png")]
public class MyButton extends Button {
public function MyButton() {
super();
this.label = "测试";
}
}
}
第三步,src目录下创建一个xml,取名为jx-manifest.xml。
<?xml version="1.0" encoding="UTF-8"?> <componentPackage> <component id="MyButton" class="jx.components.MyButton"/> </componentPackage>
这是一个清单文件。它的作用像一个对照表,它把组件名和它实际的类全名对应起来。 这里的id属性指定是的就是组件名。组件名可以与类名完全没有关系,比如你可以把MyButton换成TestBtn。TestBtn相当于给jx.components.MyButton起了个别名,以后在程序中就可以使用TestBtn来引用该类了。
第四步,创建xml,名为design.xml,放在src目录下。该文件内容如下: <?xml version="1.0" encoding="utf8"?> <design version="2"> <namespaces> <namespace prefix="jx" uri="http://jx.founder.com/2010/flex"/> </namespaces> <categories> <category id="myControls" label="我的组件" defaultExpand="true"/> </categories> <components> <component id="jx.components.MyButton" name="jx.components.MyButton" namespace="jx" category="myControls"> </component> </components> </design> design.xml是一个设计辅助文件。flashbuilder通过它实现,为标签指定默认前缀,为组件分类等功能。 <category id="myControls" label="我的组件" defaultExpand="true"/>这句,定义设计视图组件面板文件夹分类,label指定在组件面板里的文件夹显示名称,如下图所示:
在库项目属性面板里找到资源选项卡,把刚才的两个xml文件勾选上。
最终的文件结构如下图:
第五步 配置项目属性 指定命名空间Namespace URI 指定清单文件Manifest file 如图
至此,标准库项目创建完成。 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="955" minHeight="600" xmlns:jx="http://jx.founder.com/2010/flex"> <mx:Script> <![CDATA[ import jx.components.MyCheckBox; private function init():void { var c:MyCheckBox; } ]]> </mx:Script> <jx:MyButton/> </mx:Application>
特别注意: 一、在实践中发现一个缺点:通过上述方式创建库项目后,在使用时,那些通过清单文件定义的组件可以在编写mxml正确提示(如:MyButton),但MyCheckBox由于没有在清单文件中描述,在写mxml标签时就不会自动提示了。但代码方式是可以引用到的。因此,应该将可以用标签方式定义的组件都配置在清单文件中。 二、两个xml配置文件,如果能使用ant自动生成,效果可以会更好。限于能力,就不实现了。 源码:mylib.zip
RIAMeeting-苏州FLEX(34558988) matt 给予了很大的帮助,在此表示感谢 。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-06-10
写的不错啊,楼主很用心,加油!
|
|
返回顶楼 | |
发表时间:2011-06-10
顶!
flex3 中有span 吗? |
|
返回顶楼 | |
发表时间:2011-06-10
上次没研究完,可以接着你的继续搞下去了。
|
|
返回顶楼 | |
发表时间:2011-06-15
写得挺详细的,受教了
|
|
返回顶楼 | |
发表时间:2011-06-17
写了一遍,还真不错呵呵
|
|
返回顶楼 | |
浏览 4374 次