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”
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组件吧。
以下列出共用 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
想更快了解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。
分享到:
相关推荐
FLEX 命名空间包括三个主要部分:fx、s 和 mx。fx 命名空间代表 MXML 语言要素和 Flex4 中编译器指令。s 命名空间包含 Flex4 中所有新的 Spark 可视化组件。mx 命名空间是 Flex3 Halo 组件库的代表,也是已知的 mx ...
例如,fx代表MXML语言元素和编译器指令,s代表Spark组件库,mx则代表Halo(Flex3)组件库。这些命名空间在flex-config.xml文件中通过URI映射到相应的库。 - 自定义命名空间:开发者还可以定义自己的命名空间,将...
1. **MXML代码方式**:直接在MXML文件中设置 `skinClass` 属性为定义好的皮肤类的完整命名空间路径。例如: ```xml ``` 2. **ActionScript代码方式**:在ActionScript代码中设置控件的 `skinClass` 属性。 ```...
1. **命名空间声明**:首先,我们看到`<s:Application>`标签中的`xmlns:`属性指定了Flex SDK的命名空间。这非常重要,因为它们允许我们在样式中引用不同的皮肤和组件类型。 - `xmlns:fx=...
- `xmlns:fx`、`xmlns:s`、`xmlns:mx`:这些是命名空间声明,用于指定不同的Flex组件库。 - `xmlns:fx`:用于定义Flex框架提供的扩展标记语言(`MXML`)中的元素。 - `xmlns:s`:指向Adobe Spark组件库,这是Flex ...
`<s:Application>`是应用程序的根元素,其中包含命名空间声明和最小尺寸设置。`<s:VerticalLayout>`定义了布局方式为垂直居中对齐。 ##### 2. 初始化处理 ```actionscript protected function application1_...
- 创建一个新的Flex Project,例如命名为`testflex`,并确保选中“Create combined Java/Flex project using”选项。 - 设置Java source folder为`src`,这是为了后续能够将Flex与Java项目相结合。 - 在Target ...
Flex 4将功能和组件划分为三个主要的命名空间:fx(核心功能),mx(Flex 3 MX组件),s(Flex 4 Spark组件)。开发者也可以自定义命名空间来存放自己的类。 **MXML书写规范** 书写MXML时,需要注意以下几点: 1. ...
- 通过`xmlns`属性定义了多个命名空间,便于引用Flex组件库中的不同组件。 **2. 命名空间引用** - `xmlns:employeeservice="services.employeeservice.*"`表示引入了自定义的服务命名空间。 **3. Script定义** ...
1. 类选择器:使用命名空间设置组件样式,如 `s|BorderContainer{borderColor:red;}`。 2. 动态设置样式:通过 `setStyle()` 方法直接修改组件样式。 【效果(Effect)】 效果是组件在特定时间内发生的视觉或听觉...
在Flex 4中,类选择器需要使用特定的命名空间,例如: ```css @namespace s "library://ns.adobe.com/flex/spark"; s|BorderContainer { borderColor: red; } ``` #### 十一、效果(Effects) Flex支持添加各种视觉...
这里定义了三个命名空间:`fx`、`s` 和 `mx`。这些命名空间分别对应Flex的不同库,便于在MXML文件中引用各类组件。 #### 2. **脚本区域** 接下来是脚本区域,其中包含了变量和函数的定义: ```xml <fx:Script> <!...
总的来说,整合Java与Flex4涉及的主要知识点包括:Java项目创建与配置、内嵌Tomcat的配置、Blazeds的使用、Flex项目类型的添加、MXML文件的编写以及发布到服务器。通过以上步骤,你可以创建出既有Java后端支持,又有...
此外,组件的外观可以通过样式选择器设置,如在Flex4中需要指定命名空间来使用类选择器。效果(Effect)则允许开发者实现平滑的动画效果,如淡入淡出、移动等。 数据绑定是Flex中的重要特性,它实现了源属性和目标...
在Flex Builder或使用MXMLC编译器时,确保包含了`flex.net`命名空间,这样我们才能使用FTP相关的类。在MXML文件中,你可以通过添加以下元标签来导入: ```xml <fx:Import namespace="mx:core"/> <fx:Import ...
在这个文件中,我们需要继承自`MX:Canvas`或`Spark:Label`(取决于你使用的Flex版本,MX是Flex 3.x时代的组件,Spark是Flex 4.x及以后版本的组件)。 ```mxml <!-- 如果使用Spark组件 --> <fx:Script> <![CDATA[ ...
其中,`myData`是数据提供者,`my`是命名空间,指向自定义组件的位置。 总之,Flex中的ItemRenderer是实现数据可视化和交互性的重要工具。通过自定义ItemRenderer,我们可以创建独特且富有表现力的用户界面,增强...