`
xulinqs
  • 浏览: 7305 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

总结Flex中的元数据标签

阅读更多

关于Flex里面的元数据,网上copy来一段介绍:


 Flex 元数据标签——告诉编译器如何编译
     虽然多数Flex开发者都使用过[Bindable]标签,但是很多人都不知道这个标签的作用甚至不知道该标签为何物。
     [Bindable]就是所谓的元数据标签。元数据标签是一种 特殊的标签,它在代码中的作用就是向编译器提供如何编译程序的信息。实际上,这些标签并没有被编译到生成的SWF文件中,而只是告诉编译器如何生成SWF 文件。文档中列出的元数据标签共有12个,本文将讲解这些元数据标签的定义并给出使用它们的示例,在看完这篇文章之后,你就会明白应该在何时何处在你的 Flex 应用程序中使用元数据标签了。
 
     [ArrayElementType]
     实际上,定义一个数组通常来说是一件很平常的事情,因为数组中的元素可以是任何类型的。
     不过,使用ArrayElementType元数据标签可以让你定义数组元素的数据类型。下面的例子展示了如何使用    [ArrayElementType]:
     [ArrayElementType(”String”)]
     public var arrayOfStrings:Array; [ArrayElementType(”Number”)]
     public var arrayOfNumbers:Array;
     [ArrayElementType(”mx.core.UIComponent”)]
     public var arrayOfUIComponents:Array;
 
     [Bindable]
     Bindable元数据标签是最经常用到的一个元数据标签,因为它使程序组件之间的数据同步变得很容易。Bindable可以用来绑定简单数据类型、类、复杂数据类型以及函数。绑定数据的时候,你必须先使用元数据标签定义一下数据。
    
     Bindable也可以用来绑定到事件。
    
     [DefaultProperty]
     DefaultProperty元数据标签用来将一个单一属性设定为某个类的默认属性。它允许在一个容器标签内设定属性,而不用定义属性的名字。一个简单的例子就是一个自定义Button类。
     [Embed]
     Embed元数据标签用来导入图片到程序。可以通过两种方式使用Embed。你可以将图片嵌入到ActionScript中并将其指派给一个变量(如同下面代码中的第一个例子),或者你也可以将图片直接指派给组件的属性(使用下面代码中的第二个例子所示的语法规则)。
     例1:
     [Embed(source=”myIcon.gif”)]
     [Bindable]
     public var myIcon:Class;<mx:Button label=”Icon Button 1″ icon=”{myIcon}”/>
     <mx:Button label=”Icon Button 2″ icon=”{myIcon}”/>
     例2:
     <mx:Button label=”Icon Button 1″ icon=”@Embed(source=myIcon.gif’)”/>
     <mx:Button label=”Icon Button 2″ icon=”@Embed(source=myIcon.gif’)”/>
     上面这两个例子产生的结果是一样的。创建myIcon类的好处是,它在一个类中只定义一次并可以绑定到程序中的多个组件。

     [Event]
     Event元数据标签用来声明那些被自定义类分派的事件。将这个元数据标签添加到类定义中之后,你就可以在MXML标签中添加事件处理函数来初始化该自定义类。
     [Effect]
     Effect元数据标签用来定义一个自定义效果,当某个事件发生的时候该效果会被分派。

     [IconFile]
     IconFile 是用来定义一个jpg,gif或者png文件的文件名的,它在你的自定义类中作为图标来使用。[Embed]元数据标签可以用来嵌入图片、SWF文件、音 乐文件以及视频文件等,而IconFile则只是用来嵌入用来作为自定义类图标的文件。下面是一个IconFile的例子:
     [IconFile(”icon.png”)]
     public class CustomButton extends Button{}

     [Inspectable]
     在使用Flex Builder 2的时候,你可能会希望某些自定义组件的属性在代码提示和属性检查器(property inspector)中显示,Inspectable元数据标签就是用来定义那些属性的。
    
     [InstanceType]
     当在一个模板对象中声明一个像IDeferredInstance这样的变量时,InstanceType元数据标签就用来声明对象的类型。下面是InstanceType的用法:
     [InstanceType(”package.className”)]
     [NonCommittingChangeEvent]
     NonCommittingChangeEvent元数据标签在某个特定事件发生的时候可以防止变量在事件发生的过程中被更改。
 
     [RemoteClass]
     RemoteClass 可以用来将一个ActionScript类绑定到一个Java类或一个ColdFusion CFC。这样做可以自动转换数据类型。下面的例子将包com.mydomain中的名为MyClass的ActionScript类绑定到了同一个包中名为MyClass的Java类:
     package com.mydomain {
     [Bindable]
     [RemoteClass(alias=”com.mydomain.MyClass”)]
     public class MyClass {
        public var id:int; public var myText:String;
        }
     }

     [Style]
     Style元数据标签用来为组件定义自定义样式属性的。只需要简单地将Sytle元数据标签添加到类的定义当然,然后就可以使用getSytle方法获取它的值了。
     现在你应该会有这样的感觉了:“喔,现在我知道在哪里可以使用它们了”或者“嗯,我想我会在新的项目中尝试使用这些元数据标签”。如果你没有,那么你可能需要回过头去再看一遍这篇文章。OK,我想说的是Adobe Flex小组提供给我们的元数据标签不只是非常的强大,可以让我们扩展或自定义我们要做的东西,而且它还非常易于使用。通过使用它们,仅仅几行代码就可以完成一大堆事情。如果不使用这些标签,你会发现在Flex 2中实现一些东西是很辛苦的。
本文出自: dmh2002's Blog, 原文地址: http://dmh2002.com/post/31.html


分享到:
评论

相关推荐

    Flex 2 中的元数据标签

    ### Flex 2 中的元数据标签 在Flex 2中,元数据标签是用于提供类、方法或属性的额外信息的一种特殊标记。这些标签通常位于类定义或成员声明之前,并被ActionScript编译器用来控制类的行为或者为开发工具提供有关...

    Flex_2_中的元数据标签

    ### Flex 2 中的元数据标签 元数据标签在 Flex 2 开发中扮演着重要的角色,它们为编译器提供了必要的信息以更好地理解和编译应用程序。这些标签并不直接参与 SWF 文件的生成,而是作为指导编译过程的重要工具。 ##...

    Flex DataGrid从XML文件中加载数据

    7. **数据绑定**:`[Bindable]`元标签用于声明变量`users`是可绑定的,意味着当`users`的值改变时,任何绑定到`users`的UI组件都会自动更新。 ```actionscript [Bindable] private var users:XML; ``` 总结来说,...

    flex 绑定元数据

    在Flex编程中,[Embed]标签属于元数据标记之一,它的作用是将外部的资源(如图片、声音、视频等)嵌入到应用程序中。嵌入后,这些资源可以通过类的形式在应用程序中被引用。具体来说,[Embed]标签通过指定资源的路径...

    flex笔记 flex笔记 flex笔记

    - 元数据(`&lt;mx:metadata&gt;`)用于为组件提供额外的信息或配置选项。 #### ActionScript 1. **网络通信**: - Flex使用ActionScript来处理网络通信。例如,`&lt;mx:HTTPService&gt;` 标签可以用于发起HTTP请求。 - 在...

    Mobile FLEX上百度map的试用

    最后,`library.swf`可能是项目中编译后的库文件,而`catalog.xml`可能包含了项目库的元数据信息,它们对于理解项目结构和编译过程有所帮助。不过,这两个文件在本文讨论的百度地图API使用过程中不是直接相关的。 ...

    Flex运行时加载皮肤

    - **实现**:通过定义一个名为`Wrapper`的类,并使用`[Embed]`元数据标签指定要嵌入的皮肤资源(如`flex_skins.swf`中的`RadioButton_upIcon`)。这些资源将在运行时被加载。 2. **第二步:将外壳SWF文件放置在...

    flex pv3d test

    在PV3D中,它可能包含了3D场景的配置信息,如3D对象的列表、它们的位置、旋转和缩放信息,或者是加载和管理3D资源的元数据。开发者可以使用XML来组织和控制3D场景的结构,使得代码更易维护和扩展。 总结来说,这个...

    Flex sdk 4.6 for UFT testing

    这包括提供元数据支持,以便UFT可以理解Flex组件的结构和行为。此外,可能还包括了特定的API和插件,帮助UFT更准确地捕获和回放Flex应用中的用户操作。 4. 源码: “源码”标签表明这个压缩包可能包含了Flex SDK ...

    FLEX动态加载Model

    总结来说,"FLEX动态加载Model"涉及到如何在运行时高效地获取和管理应用程序的数据,这既包括技术实现,也包括最佳实践。通过理解并掌握这一技术,开发者可以创建更加灵活、响应迅速的FLEX应用程序。

    flex 使用AdvancedDataGrid组件的课件管理系统

    `.fxp`文件是Flex项目导出的文件,包含了项目的元数据和源代码。要继续开发或学习这个项目,需要使用Adobe Flex Builder或Flash Builder这样的IDE导入`.fxp`文件。导入后,开发者可以查看并修改源代码,深入理解如何...

    flex4 样式

    - **HostComponent元数据**:每个SkinClass都需要通过元数据标签来指定其HostComponent,即该皮肤适用的组件类型。 ```xml &lt;![CDATA[ [HostComponent("spark.components.Button")] ]]&gt; ``` - **States**...

    bison&flex编译组件bfwizard-1.6

    - **data1.hdr**: 数据文件的头部信息,可能包含关于压缩数据的元数据。 - **Setup.ini**: 配置文件,用于指导安装过程,包含程序设置和路径信息。 - **setup.inx**: 安装脚本,定义了安装过程中所需的操作。 - **...

    web|FLEX|B/S工作流设计器

    在Flex项目中,bin-debug目录下会包含编译后的SWF文件和相关的元数据,这使得开发者能够在开发环境中进行实时测试和问题排查。 总结来说,这个"web|FLEX|B/S工作流设计器"是一个基于Adobe Flex技术的Web应用程序,...

    FLEX4 皮肤制作教程

    - **内联指定**:直接在`&lt;Button&gt;`标签中通过`skinClass`属性指定自定义的皮肤类,如`&lt;Button skinClass="com.rianote.flex.skin.KButton"/&gt;`。 - **动态设置**:通过编程方式动态设置按钮的皮肤类,例如`myButton...

    flex4.5学习笔记

    - **结构**: 包含状态(`&lt;s:states&gt;`)定义、元数据(`&lt;fx:Metadata&gt;`)以及界面元素定义。 - **组件定义**: 通过`&lt;s:Group&gt;`、`&lt;s:Rect&gt;`等元素定义界面布局与样式。 - **皮肤应用**: 在应用中通过`skinClass`属性...

    Adobe+Flex编码指南

    ### Adobe Flex 编码指南知识点总结 #### 一、引言 Adobe Flex 是一款用于构建高性能的、跨浏览器的富互联网应用(RIA)的强大工具。它由 Adobe Systems 开发,并且支持 ActionScript 3.0 和 MXML。此文档旨在为...

    flex框架Pasley的学习手册

    使用AS3元标签和MXML可以直接在代码中定义配置,而XML配置文件则允许更灵活的结构化配置。运行时配置允许在应用程序运行过程中动态调整设置。Configuration DSL(领域特定语言)和ActionScript Configuration提供了...

    Adobe Flex编码指南V1.2(中文)

    6. **元数据** - 例如 `Event`, `Style`, `Effect` 等,按字母顺序排序。 7. **定义类和接口** 8. **静态变量** - `public`(包括常量和其他 `public static` 变量) - `internal` - `protected` - `private` ...

Global site tag (gtag.js) - Google Analytics