Flex 3 metadata tags
Flex引入了元数据标签的概念,它告诉编译器如何编译这段Flex
或actionscript代码。大多数人都使用过[Bindable]标签,元数据标签是一种
特殊的标签,它在代码中的作用就是向编译器提供如何编译程序的信息。实际上,这些标签并没有被编译到生成的SWF文件中,而只是告诉编译器如何生成SWF 文件。
这篇Post结合网上相关的资料
以及Adobe的help resource center的相关材料
介绍了16个元数据标签。
[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类。Listing 3
展示了一个简单的Button类,它将label属性设定为了DefaultProperty。Listing 4
展示了label属性是如何在自定义Button标签中作为一个字符串定义的。
[Deprecated]
A class or class elements marked as deprecated is one which is
considered obsolete, and whose use is discouraged in the current
release. While the class or class element still works, its use can
generate compiler warnings.
[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方法获取它的值了。
标签
|
描述
|
[ArrayElementType] |
在数组中定义所有允许的数据类型。 |
[Bindable] |
声明一个属性可以在代码中使用数据绑定表达式。 |
[DefaultProperty] |
定义组件在MXML中使用时的默认属性的名称。 |
[Deprecated] |
标识一个类或类的元素是不推荐使用的,这样编译器能认出他并在被调用时给出一个警告信息。 |
[Effect] |
定义MXML的特效属性名称。 |
[Embed] |
在编译时导入 JPED,PNG,SVG 或 SWF文件。也会导入SWC文件的图片资源。他的功能等同于MXML中的 @Embe 语法。 |
[Event] |
定义MXML的事件属性的名称和类型。 |
[Exclude] |
使 Flex Builder 的标签检查器忽略类元素。语法类似 [Exclude(name=”label”, kind=”property”)] |
[ExcludeClass] |
是 Flex Builder 标签检查器忽略类。这相当于ASDoc中的 @private 标签。 |
[IconFile] |
定义一个图标文件,使组件在Adobe Flex Builder的插入面板中以该图标显示。 |
[Inspectable] |
定义一个属性的列表,供组件使用者在 Flex Builder 的的属性提示和标签检查中使用。同时也定义了属性的可用值。 |
[InstanceType] |
指定了 IDeferredInstance 中的,属性接受的数据类型。 |
[NonCommittingChangeEvent] |
定义一个事件过渡触发器。 |
[RemoteClass] |
把一个ActionScript对象映射到Java对象。 |
[Style] |
为组件的样式属性定义一个MXML标签属性。 |
[Transient] |
当一个 ActionScript 对象被映射到Java对象后,被该标签标识的属性,会从发送到服务端的数据中忽略掉。 |
分享到:
相关推荐
在Flex与AS3(ActionScript 3)开发中,元数据标签(Metadata Tags)是一种重要的语法结构,用于向编译器提供有关类或成员的额外信息。这些标签能够帮助编译器优化代码、提供更强大的功能,并允许开发者实现自定义...
metadata-extractor-2.4.0.rar metadata-extractor-2.4.0.rar 获取 图片 exif 信息 使用方法: File jpegFile = new File("c:\\newchangetime.jpg"); Metadata metadata = JpegMetadataReader.readMetadata(jpeg...
为了安装`sql_metadata-1.10.0-py3-none-any.whl`,你需要拥有Python 3环境,并使用`pip`命令进行安装,如下: ```bash pip install sql_metadata-1.10.0-py3-none-any.whl ``` 安装完成后,你就可以在Python代码中...
标签:drewnoakes、metadata、extractor、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...
标签:drewnoakes、metadata、extractor、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明...
3. **Models**:可能扩展了Eloquent模型,以便更好地支持metadata操作,如添加、更新和查询。 4. **Migrations**:如果metadata存储在数据库中,那么这里可能会包含用于创建metadata表的迁移文件。 5. **Seeds**:...
Display Metadata [3], while containing provisions for future HDR EOTFs and metadata. It is anticipated that these data structures will be extended to include additional EOTF and HDR metadata ...
`flex-config.xml`的基本结构通常包括多个`<compiler>`和`<configuration>`标签,其中`<compiler>`标签用于设置编译器选项,而`<configuration>`标签则可以包含多个`<compiler>`标签,以便于组织和重用配置。...
3. **生成数据库DDL** 使用`DatabaseMetaData`生成数据库DDL的过程,主要是遍历数据库的所有表,获取每个表的列信息、主键、外键等,然后构造对应的SQL语句。例如,可以获取`getTables()`方法来获取所有表的信息,`...
标签:spring、metadata、plugin、springframework、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释...
3. 设置代理:设置代理可以帮助Gradle Metadata正确加载。 在 Android Studio 中设置代理可以按照以下步骤进行: 1. 打开 Android Studio 设置:点击 Settings -> 搜索 proxy。 2. 设置代理服务器:输入 127.0.0.1...
metadata-extractor-2.3.1
<fx:Metadata>[HostComponent("spark.components.Button")]</fx:Metadata> <!-- Ellipse fills and strokes for different states --> ``` 在这个例子中,我们定义了四种状态(up、over、down和disabled)...
FLEX 项目的工作空间位于 Document and settings/user directory/adobe flash builder beta2.metadata 和 configuration 目录下。默认情况下,Flash Builder 会把 FLEX 应用程序编译到项目文件夹下面的一个名为“bin...
- 组件是Flex应用程序的基本构建块,可以通过 `<mx:Component>` 标签定义自定义组件。 - 元数据(`<mx:metadata>`)用于为组件提供额外的信息或配置选项。 #### ActionScript 1. **网络通信**: - Flex使用...
资源分类:Python库 所属语言:Python 资源全名:importlib_metadata-3.9.1-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
提交 Flink 任务时失败,无论是从命令行中传入 topic 及 broker,还是从配置文件中读取 topic 及 broker,在等待 3~5 分钟之后,最后都返回“Timeout expired while fetching topic metadata”错误。 八、解决方案 ...
标签:twelvemonkeys、imageio、metadata、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...
3. `README.md`:项目说明,包括如何使用和贡献的指南。 4. `LICENSE`:开源许可文件,规定了库的使用权限和条件。 5. `tests`目录:可能包含测试用例,用于验证库的正确性和性能。 为了使用`kotlin-metadata`库,...
metadata = ImageMetadataReader.readMetadata(file); for (Directory directory : metadata.getDirectories()) { for (Tag tag : directory.getTags()) { String tagName = tag.getTagName(); // 标签名 String...