文章转载于

http://blog.chinaunix.net/uid-122937-id-142895.html

 

1.包与命名空间

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”

 

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编译器里的标签包括等等,在《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编译器。

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文件列出了所有组件了。

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