当前位置: 首页 > 工具软件 > FX Player > 使用案例 >

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

乐正镜
2023-12-01
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组件吧。 


Java代码  


        1. 2.新组件或容器  
        2. 新的控件和容器  
        3.   
        4. Flex 3 Halo Component     Flex 4 beta Spark Component  
        5. mx.controls.Button          spark.components.Button  
        6. mx.controls.ButtonBar       spark.components.ButtonBar  
        7. mx.controls.CheckBox        spark.components.CheckBox  
        8. mx.controls.ComboBox        spark.components.DropDownList   
        9. mx.controls.HorizontalList  spark.components.List   
        10. mx.controls.HRule           spark.primitives.Line  
        11. mx.controls.HScrollBar      spark.components.HScrollBar  
        12. mx.controls.HSlider         spark.components.HSlider  
        13. mx.controls.Image           spark.primitives.BitmapImage  
        14. mx.controls.LinkBar         spark.components.ButtonBar  
        15. mx.controls.LinkButton      spark.components.Button (with a custom skin)  
        16. mx.controls.List            spark.components.List  
        17. mx.controls.NumericStepper  spark.components.NumericStepper  
        18. mx.controls.RadioButton     spark.components.RadioButton  
        19. mx.controls.RadioButtonGroupspark.components.RadioButtonGroup  
        20. mx.controls.TextArea        spark.components.TextArea  
        21. mx.controls.TextInput       spark.components.TextInput  
        22. mx.controls.TileList        spark.components.List (with a TileLayout)  
        23. mx.controls.ToggleButtonBar spark.components.ButtonBar  
        24. mx.controls.VideoDisplay    spark.components.VideoPlayer  
        25. mx.controls.VRule           spark.primitives.Line  
        26. mx.controls.VScrollBar      spark.components.VScrollBar  
        27. mx.controls.VSlider         spark.components.VSlider  
        28. mx.core.Application         spark.components.Application  
        29. mx.core.Window              spark.components.Window  
        30. mx.core.WindowedApplication spark.components.WindowedApplication  
        31. mx.containers.Canvas        spark.components.Group  
        32. mx.containers.HBox          spark.components.HGroup  
        33. mx.containers.Panel         spark.components.Panel  
        34. mx.containers.Tile          spark.components.Group (with a TileLayout)  
        35. mx.containers.VBox          spark.components.VGroup  
        36.   
        37. 3.未变动组件  
        38. mx.controls.Alert  
        39. mx.controls.ColorPicker  
        40. mx.controls.DataGrid  
        41. mx.controls.DateChooser  
        42. mx.controls.DateField  
        43. mx.controls.Menu  
        44. mx.controls.MenuBar  
        45. mx.controls.PopUpButton  
        46. mx.controls.PopUpMenuButton  
        47. mx.controls.ProgressBar  
        48. mx.controls.RichTextEditor  
        49. mx.controls.TabBar  
        50. mx.controls.Tree  
        51. mx.containers.Accordion  
        52. mx.containers.ApplicationControlBar  
        53. mx.containers.ControlBar  
        54. mx.containers.DividedBox  
        55. mx.containers.Form  
        56. mx.containers.Grid  
        57. mx.containers.TabNavigator  
        58. mx.containers.TitleWindow  
        59. mx.containers.ViewStack  
        60.   
        61. 4.共用的S和mx的控件   
        62.   
        63.    
        64.   
        65.   
        66. Category Class   
        67. RPC classes •mx.messaging.channels.AMFChannel   
        68. •mx.rpc.CallResponder   
        69. •mx.messaging.ChannelSet   
        70. •mx.messaging.Consumer   
        71. •mx.messaging.channels.HTTPChannel   
        72. •mx.rpc.http.mxml.HTTPService   
        73. •mx.messaging.Producer   
        74. •mx.rpc.remoting.mxml.RemoteObject   
        75. •mx.rpc.remoting.mxml.Operation   
        76. •mx.messaging.channels.RTMPChannel   
        77. •mx.messaging.channels.SecureAMFChannel   
        78. •mx.messaging.channels.SecureStreamingAMFChannel   
        79. •mx.messaging.channels.SecureHTTPChannel   
        80. •mx.messaging.channels.SecureStreamingHTTPChannel   
        81. •mx.messaging.channels.SecureRTMPChannel   
        82. •mx.messaging.channels.StreamingAMFChannel   
        83. •mx.messaging.channels.StreamingHTTPChannel   
        84. •mx.rpc.soap.mxml.WebService   
        85. •mx.rpc.soap.mxml.Operation   
        86. •mx.data.mxml.DataService  
        87.    
        88. Graphics classes •mx.graphics.BitmapFill   
        89. •mx.geom.CompoundTransform   
        90. •mx.graphics.GradientEntry   
        91. •mx.graphics.LinearGradient   
        92. •mx.graphics.LinearGradientStroke   
        93. •mx.graphics.RadialGradient   
        94. •mx.graphics.RadialGradientStroke   
        95. •mx.graphics.SolidColor   
        96. •mx.graphics.SolidColorStroke   
        97. •mx.graphics.Stroke   
        98. •mx.geom.Transform  
        99.    
        100. Effedt classes •mx.effects.Parallel   
        101. •mx.effects.Sequence   
        102. •mx.states.Transition   
        103. •mx.effects.Wait  
        104.    
        105. States classes •mx.states.State   
        106. •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。


来自 <http://mxm910821.iteye.com/blog/1431770> 
 类似资料: