Flex里的fx s mx
笔记是从其他地方整合的,仅供参考
原来flex build 4有三个命名空间fx,mx,s,分别对应一下三个:
•xmlns:fx=”http://ns.adobe.com/mxml/2009″
•xmlns:mx=”library://ns.adobe.com/flex/halo”
•xmlns:s=”library://ns.adobe.com/flex/spark”
mx是基本包,fx是扩展包,命名空间fx代表MXML语言要素和Flex 4中编译器指令。
命名空间S是指包含Flex 4中的所有新Spark可视化组件。
命名空间MX作为Flex 3 Halo组件库的代表,就是Flex3使用的MX库。
<mx:不能嵌套在<s:里面否则就会报错。
1、xmlns:fx=”http://ns.adobe.com/mxml/2009″
fx命名空间下包含ActionScript顶级元素和内建到MXML编译器里的标签。
前者ActionScript顶级元素就是指
Object、Number、Boolean以及Array对象等等,在《Adobe Flex 4 Beta Language
Reference》的顶级包(Top
Level)里可以查看完整的顶级元素。后者内建到MXML编译器里的标签包
括<fx:Script>、<fx:Declarations>和<fx:Style>等等,在《Adobe
Flex 4 Beta Language Reference》附录(Appendixes)里的“MXML Only
Tags”可以查看完整的编译器元素。值得注意的是,这个命名空间并不包含 Halo 和 Spark
组件(Halo是以前版本的组件库,而Spark是Flex 4新出的组件库)。在Flash
Builder安装目录下可以找到“mxml-2009-manifest.xml”文件(例如我的电脑是C:\Program
Files\Adobe\Flash Builder
Beta\sdks\4.0.0\frameworks\mxml-2009-manifest.xml),这个xml文件描述了完整的
ActionScript顶级类。不过你可以注意到,它并没有包含MXML编译器标签,那是因为这些标签是内建到MXML编译器。
2、xmlns:mx=”library://ns.adobe.com/flex/halo”
mx命名空间包含着放在 mx.* 包里那些组件,Flex图表、Flex数据可视化组件等等。对Flex
3很熟悉的话,mx包里的组件你也不陌生了。在Flex 4
SDK的安装目录下可以找到“halo-manifest.xml”文件(例如我的电脑是C:\Program Files\Adobe\Flash
Builder Beta\sdks\4.0.0\frameworks\halo-manifest.xml),这个XML文件列出了所有组件了。
3、xmlns:s=”library://ns.adobe.com/flex/spark”
s命名空间可真是新鲜事了,spark.* 包里的组件都在这个命名空间里,不只spark包,flashx.*包的text
framework类也在这个命名空间里。这个命名空间包含不少RPC类,例如
WebService、HTTPService和RemoteObject组件,这些组件同时也在mx命名空间下,也就是说,创建这些组件时,你不但可以
使用“S:”前缀,也可以使用“mx:”前缀。其实不只这些RPC组件共用两个命名空间,像graphics、effect和state类也是共用 s 和
mx 命名空间的。在Flex 4 SDK安装目录下打开spark-manifest.xml文件来看看完整的spark组件吧。