Onelong

分享知识,与你一起进步......
RSS icon Home icon
  • Flex 4 全新的命名空间

    post by onelong / 2010-1-21 18:34 Thursday [MXML/ActionScript3.0]

       原文来自 http://www.riahome.cn/?p=921

        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》看一下。

    标签: MXML flex 4
    引用地址:
     

    评论:

    1. Murat
      That's a nicely made answer to a challenging qeutsion

    我要评论