`

Flex中的fx、mx和s命名空间

    博客分类:
  • flex
阅读更多

 

 

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组件吧。

2.新组件或容器
新的控件和容器

Flex 3 Halo Component     Flex 4 beta Spark Component
mx.controls.Button          spark.components.Button
mx.controls.ButtonBar       spark.components.ButtonBar
mx.controls.CheckBox        spark.components.CheckBox
mx.controls.ComboBox        spark.components.DropDownList
mx.controls.HorizontalList  spark.components.List
mx.controls.HRule           spark.primitives.Line
mx.controls.HScrollBar      spark.components.HScrollBar
mx.controls.HSlider         spark.components.HSlider
mx.controls.Image           spark.primitives.BitmapImage
mx.controls.LinkBar         spark.components.ButtonBar
mx.controls.LinkButton      spark.components.Button (with a custom skin)
mx.controls.List            spark.components.List
mx.controls.NumericStepper  spark.components.NumericStepper
mx.controls.RadioButton     spark.components.RadioButton
mx.controls.RadioButtonGroupspark.components.RadioButtonGroup
mx.controls.TextArea        spark.components.TextArea
mx.controls.TextInput       spark.components.TextInput
mx.controls.TileList        spark.components.List (with a TileLayout)
mx.controls.ToggleButtonBar spark.components.ButtonBar
mx.controls.VideoDisplay    spark.components.VideoPlayer
mx.controls.VRule           spark.primitives.Line
mx.controls.VScrollBar      spark.components.VScrollBar
mx.controls.VSlider         spark.components.VSlider
mx.core.Application         spark.components.Application
mx.core.Window              spark.components.Window
mx.core.WindowedApplication spark.components.WindowedApplication
mx.containers.Canvas        spark.components.Group
mx.containers.HBox          spark.components.HGroup
mx.containers.Panel         spark.components.Panel
mx.containers.Tile          spark.components.Group (with a TileLayout)
mx.containers.VBox          spark.components.VGroup

3.未变动组件
mx.controls.Alert
mx.controls.ColorPicker
mx.controls.DataGrid
mx.controls.DateChooser
mx.controls.DateField
mx.controls.Menu
mx.controls.MenuBar
mx.controls.PopUpButton
mx.controls.PopUpMenuButton
mx.controls.ProgressBar
mx.controls.RichTextEditor
mx.controls.TabBar
mx.controls.Tree
mx.containers.Accordion
mx.containers.ApplicationControlBar
mx.containers.ControlBar
mx.containers.DividedBox
mx.containers.Form
mx.containers.Grid
mx.containers.TabNavigator
mx.containers.TitleWindow
mx.containers.ViewStack

4.共用的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。

 

from:http://blog.csdn.net/zjhzyzc/archive/2009/09/27/4602322.aspx

分享到:
评论
1 楼 ouyangfeng521 2010-12-17  

相关推荐

    FLEX4基础文档

    FLEX 命名空间包括三个主要部分:fx、s 和 mx。fx 命名空间代表 MXML 语言要素和 Flex4 中编译器指令。s 命名空间包含 Flex4 中所有新的 Spark 可视化组件。mx 命名空间是 Flex3 Halo 组件库的代表,也是已知的 mx ...

    初步走进flex世界

    例如,fx代表MXML语言元素和编译器指令,s代表Spark组件库,mx则代表Halo(Flex3)组件库。这些命名空间在flex-config.xml文件中通过URI映射到相应的库。 - 自定义命名空间:开发者还可以定义自己的命名空间,将...

    Flex各种超酷实例代码大全

    1. **命名空间声明**:首先,我们看到`&lt;s:Application&gt;`标签中的`xmlns:`属性指定了Flex SDK的命名空间。这非常重要,因为它们允许我们在样式中引用不同的皮肤和组件类型。 - `xmlns:fx=...

    Flex4.5从浅入深

    例如,在Flex3中,我们使用的是 `&lt;mx:Application&gt;` 作为根容器,而在Flex4.5中则是 `&lt;s:Application&gt;`,这反映了不同的命名空间和组件库。 #### 三、第一章:可视化组件运用 Flex中的“可视化组件”是指那些能够...

    Flex4 Spark皮肤

    1. **MXML代码方式**:直接在MXML文件中设置 `skinClass` 属性为定义好的皮肤类的完整命名空间路径。例如: ```xml ``` 2. **ActionScript代码方式**:在ActionScript代码中设置控件的 `skinClass` 属性。 ```...

    flex的mxml语言基础

    Flex 4将功能和组件划分为三个主要的命名空间:fx(核心功能),mx(Flex 3 MX组件),s(Flex 4 Spark组件)。开发者也可以自定义命名空间来存放自己的类。 **MXML书写规范** 书写MXML时,需要注意以下几点: 1. ...

    Flex问题解决大全

    此外,组件的外观可以通过样式选择器设置,如在Flex4中需要指定命名空间来使用类选择器。效果(Effect)则允许开发者实现平滑的动画效果,如淡入淡出、移动等。 数据绑定是Flex中的重要特性,它实现了源属性和目标...

    Flex中itemRenderer的使用简介

    在Flex开发中,ItemRenderer是一种非常关键的组件,它允许我们自定义MX或者Spark列表类(如List、DataGrid等)中的数据项显示方式。ItemRenderer使得开发者能够以更个性化的方式展示数据,提升用户界面的视觉效果和...

    flex datagrid中实现显示序列号

    在这个文件中,我们需要继承自`MX:Canvas`或`Spark:Label`(取决于你使用的Flex版本,MX是Flex 3.x时代的组件,Spark是Flex 4.x及以后版本的组件)。 ```mxml &lt;!-- 如果使用Spark组件 --&gt; &lt;fx:Script&gt; &lt;![CDATA[ ...

    FLex连接数据

    - 通过`xmlns`属性定义了多个命名空间,便于引用Flex组件库中的不同组件。 **2. 命名空间引用** - `xmlns:employeeservice="services.employeeservice.*"`表示引入了自定义的服务命名空间。 **3. Script定义** ...

    flex学习心得

    在Flex 4中,类选择器需要使用特定的命名空间,例如: ```css @namespace s "library://ns.adobe.com/flex/spark"; s|BorderContainer { borderColor: red; } ``` #### 十一、效果(Effects) Flex支持添加各种视觉...

    Flex实现Ftp上传

    在Flex Builder或使用MXMLC编译器时,确保包含了`flex.net`命名空间,这样我们才能使用FTP相关的类。在MXML文件中,你可以通过添加以下元标签来导入: ```xml &lt;fx:Import namespace="mx:core"/&gt; &lt;fx:Import ...

    flex部分控件代码

    这里定义了三个命名空间:`fx`、`s` 和 `mx`。这些命名空间分别对应Flex的不同库,便于在MXML文件中引用各类组件。 #### 2. **脚本区域** 接下来是脚本区域,其中包含了变量和函数的定义: ```xml &lt;fx:Script&gt; &lt;!...

    Flex4编写计算器小程序

    `&lt;s:Application&gt;`是应用程序的根元素,其中包含命名空间声明和最小尺寸设置。`&lt;s:VerticalLayout&gt;`定义了布局方式为垂直居中对齐。 ##### 2. 初始化处理 ```actionscript protected function application1_...

    Flex + LCDS + Java 入门教程.doc

    配置RemoteObject时,需要指定服务端接口的命名空间、服务名以及要调用的方法。 例如,创建一个名为`UserService`的Java服务,包含`login`方法,可以在Flex中这样配置: ```xml &lt;fx:Declarations&gt; &lt;mx:...

    flex4_读书笔记

    1. 类选择器:使用命名空间设置组件样式,如 `s|BorderContainer{borderColor:red;}`。 2. 动态设置样式:通过 `setStyle()` 方法直接修改组件样式。 【效果(Effect)】 效果是组件在特定时间内发生的视觉或听觉...

Global site tag (gtag.js) - Google Analytics