Flex 4里的fx、mx以及s命名空间 [转]
2013-05-20 14:06
453 查看
Flex 4带给我们的,是全新的命名空间。了解这些命名空间必定是一件好事情。Flex 4有三个非常重要的命名空间,分别是:
xmlns:fx=”http://ns.adobe.com/mxml/2009″
xmlns:mx=”library://ns.adobe.com/flex/halo”
xmlns:s=”library://ns.adobe.com/flex/spark”
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编译器。
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文件列出了所有组件了。
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组件吧。
以下列出共用 s 和 mx 命名空间的类:
想更快了解Flex 4,可以下载《Adobe Flex 4 Help》看一下。
其中的一些我认为必要了解的内容:
1、xmlns:mx=”library://ns.adobe.com/flex/halo“ 和 xmlns:s=”library://ns.adobe.com/flex/spark“是平级的,而xmlns:fx=”http://ns.adobe.com/mxml/2009″是ActionScript
3.0顶级的内容。也就是说,如果在某一个Project里面只使用halo的话,则可以在Application里面去掉spark的定义。(反之亦然)
2、xmlns:mx=”library://ns.adobe.com/flex/halo“ 和 xmlns:s=”library://ns.adobe.com/flex/spark“其中有一部分是公用的,这点请大家注意一下(关于为什么是公用的,我猜测是为了让Flex
SDK 2 和 Flex SDK 3迁移到Flex
SDK 4(Gumbo)的过程更方便一些造成的。)
3、xmlns:fx=”http://ns.adobe.com/mxml/2009″保留Flex
SDK 2 和 Flex SDK 3时代的一些顶级包以外,还新增加了一些标签,如:<Declarations>、<DesignLayer><Library><Private><Reparent>
4、当需要定义一个在xmlns:mx=”library://ns.adobe.com/flex/halo“ 和 xmlns:s=”library://ns.adobe.com/flex/spark“都存在的组件或者意义相同的组件,Adobe建议使用spark,而不是原来的halo。
xmlns:fx=”http://ns.adobe.com/mxml/2009″
xmlns:mx=”library://ns.adobe.com/flex/halo”
xmlns:s=”library://ns.adobe.com/flex/spark”
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 命名空间的。在Flex4 SDK安装目录下打开spark-manifest.xml文件来看看完整的spark组件吧。
以下列出共用 s 和 mx 命名空间的类:
Category | Class |
---|---|
RPC classes | mx.messaging.channels.AMFChannel mx.rpc.CallResponder mx.messaging.ChannelSet mx.messaging.Consumer mx.messaging.channels.HTTPChannel mx.rpc.http.mxml.HTTPService mx.messaging.Producer mx.rpc.remoting.mxml.RemoteObject mx.rpc.remoting.mxml.Operation mx.messaging.channels.RTMPChannel mx.messaging.channels.SecureAMFChannel mx.messaging.channels.SecureStreamingAMFChannel mx.messaging.channels.SecureHTTPChannel mx.messaging.channels.SecureStreamingHTTPChannel mx.messaging.channels.SecureRTMPChannel mx.messaging.channels.StreamingAMFChannel mx.messaging.channels.StreamingHTTPChannel mx.rpc.soap.mxml.WebService mx.rpc.soap.mxml.Operation mx.data.mxml.DataService |
Graphics classes | mx.graphics.BitmapFill mx.geom.CompoundTransform mx.graphics.GradientEntry mx.graphics.LinearGradient mx.graphics.LinearGradientStroke mx.graphics.RadialGradient mx.graphics.RadialGradientStroke mx.graphics.SolidColor mx.graphics.SolidColorStroke mx.graphics.Stroke mx.geom.Transform |
Effedt classes | mx.effects.Parallel mx.effects.Sequence mx.states.Transition mx.effects.Wait |
States classes | mx.states.State mx.states.AddItems |
其中的一些我认为必要了解的内容:
1、xmlns:mx=”library://ns.adobe.com/flex/halo“ 和 xmlns:s=”library://ns.adobe.com/flex/spark“是平级的,而xmlns:fx=”http://ns.adobe.com/mxml/2009″是ActionScript
3.0顶级的内容。也就是说,如果在某一个Project里面只使用halo的话,则可以在Application里面去掉spark的定义。(反之亦然)
2、xmlns:mx=”library://ns.adobe.com/flex/halo“ 和 xmlns:s=”library://ns.adobe.com/flex/spark“其中有一部分是公用的,这点请大家注意一下(关于为什么是公用的,我猜测是为了让Flex
SDK 2 和 Flex SDK 3迁移到Flex
SDK 4(Gumbo)的过程更方便一些造成的。)
3、xmlns:fx=”http://ns.adobe.com/mxml/2009″保留Flex
SDK 2 和 Flex SDK 3时代的一些顶级包以外,还新增加了一些标签,如:<Declarations>、<DesignLayer><Library><Private><Reparent>
4、当需要定义一个在xmlns:mx=”library://ns.adobe.com/flex/halo“ 和 xmlns:s=”library://ns.adobe.com/flex/spark“都存在的组件或者意义相同的组件,Adobe建议使用spark,而不是原来的halo。
相关文章推荐
- Flex 4里的fx、mx以及s命名空间
- Flex 4里的fx、mx以及s命名空间
- 了解一下Flex 4里的fx、mx以及s命名空间
- Flex里的命名空间,fx、mx、s【转】
- Flex头部中的fx、mx和s命名空间
- flex 自定义多个命名空间以及标签名 (转)
- Flex 4里的fx、mx以及s命名空间
- Flex 4里的fx、mx以及s命名空间
- 了解一下Flex 4里的fx、mx以及s命名空间(转)
- 了解一下Flex 4里的fx、mx以及s命名空间
- Flex 4里的fx、mx以及s命名空间
- 了解一下Flex 4里的fx、mx以及s命名空间
- 了解一下Flex 4里的fx、mx以及s命名空间
- flex 自定义多个命名空间以及标签名 (转)
- Flex 4里的fx、mx以及s命名空间
- Flex 4里的fx、mx以及s命名空间
- Flex4的fx、mx和s命名空间
- 了解一下Flex 4里的fx、mx以及s命名空间【转帖】
- 了解一下Flex 4里的fx、mx以及s命名空间(转)
- Flex--Use Flex的命名空间 :mx_internal