flex4自定义命名空间(xmlns)

相关的一片博客:https://blog.csdn.net/libanghua/article/details/8212778

1.自定义一些控件如:MyButton,MyTextInput

2.新增xml到src目录下:

ss-mainfest.xml //存放在 ss标签库命名空间 控件

 

<?xml version="1.0" encoding="UTF-8"?>
<componentPackage>
 <component id="MyButton" class="com.sarsea.components.MyButton"/>
</componentPackage>

ss2-mainfest.xml //存放在 ss2标签库命名空间的控件

 

 

<?xml version="1.0" encoding="UTF-8"?>
<componentPackage>
 <component id="MyTextInputOtherName" class="com.sarsea.components.MyTextInput"/>
</componentPackage>

 

另外一个控件可以放到N个命名空间,id属性不一定要跟类名一样,id属性只是一个别名,用法例如:<ss2:MyTextInputOtherName/>

3.右键项目属性=》flex库编译器

再项目-->清理 构建项目这样就会在输出文件夹下输出相应的swc文件 再将swc文件导入所需的项目libs目录下

便可以使用了

如果要使用标签 可以在s:appcation 标签内 加上 xmlns:flexlib="http://www.sarsea.com/p/flex/"便可使用

 

这样的选择 只能支持单个命名控件 ,要支持做个 可以编辑.flexLibProperties文件(此文件就是项目目录下 跟src 同级别的)

修改

<namespaceManifests>
    <namespaceManifestEntry manifest="ss-manifest.xml" namespace="http://www.sarsea.com/2012/flex"/>
 </namespaceManifests> 

修改为

 

<namespaceManifests>
    <namespaceManifestEntry manifest="ss-manifest.xml" namespace="http://www.sarsea.com/2012/flex"/>
    <namespaceManifestEntry manifest="ss2-manifest.xml"    namespace="http://www.sarsea.com/2012/flex2"/>
</namespaceManifests> 

 

这样就多加了一个命名空间

 

 

4.自定义标签库名:在src目录下新增一个design.xml文件,然后右键项目属性=》flex库构建路径=》资源=》把design.xml打钩 就ok了。或者到.flexLibProperties 里面手动添加

<includeResources>
    <resourceEntry destPath="design.xml" sourcePath="design.xml"/>
    <resourceEntry destPath="com/sarsea/components/button.png" sourcePath="com/sarsea/components/button.png"/>
  </includeResources>

design.xml

<?xml version="1.0" encoding="utf8"?>
<design version="2">
   <namespaces>
     <namespace prefix="ss" uri="http://www.sarsea.com/2012/flex"/>
     <namespace prefix="ss2" uri="http://www.sarsea.com/2012/flex2"/>
   </namespaces>
   <categories>
       <category id="myControls" label="Sarsea组件" defaultExpand="true"/>
       <category id="myControls2" label="Sarsea组件2" defaultExpand="true"/>
   </categories>
    
   <components>
  <component id="MyButton"
       name="com.sarsea.components.MyButton" 
       category="myControls">
  </component>
  <!--displayName  设计栏 控件的显示名字  
id貌似没啥用 
cotegory:指定控件在哪个 类别控件夹里面
name:就是控件类的具体位置 (这个一定要跟mainfest里面的class属性对应)
-->
<component id="MyTextInpust"
     displayName="MyTextInputControlName"
       name="com.sarsea.components.MyTextInput" 
       category="myControls2">
  </component>
   </components>
</design>

package com.sarsea.components
{
 import mx.controls.Button;
 /**
  * 
  * @author 
  */
 [IconFile("button.png")]//图片在 设计栏的 自定义控件栏显示
 public class MyButton extends Button
 {
  public function MyButton()
  {
   super();
  }
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值