1、[ArrayElementType]
使用ArrayElementType元数据标签可以让你定义数组元素的数据类型。
程序代码:
[ArrayElementType("String")]
public var arrayOfStrings:Array;
[ArrayElementType("Number")]
public var arrayOfNumbers:Array;
[ArrayElementType("mx.core.UIComponent")]
public var arrayOfUIComponents:Array;
2、[Bindable]
Bindable可以用来绑定简单数据类型、类、复杂数据类型以及函数。绑定数据的时候,你必须先使用元数据标签定义一下数据。
A simple use of [Bindable]
<?xml version="1.0" encoding="utf-8"?>
backgroundColor="#FFFFFF">
[Bindable]
private var me:String="Rich Tretola";
]]>
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom=" 10" layout="horizontal">
Bindable也可以用来绑定到事件
Using [Bindable] with getters and setters
<?xml version="1.0" encoding="utf-8"?>
private var _phoneNumber:String = " ";
// Bind getter function to phoneNumberChanged event
[Bindable(event="phoneNumberChanged")]
public function get phoneNumber():String
{
return _phoneNumber;
}
// Setter method.
public function set phoneNumber(value:String):void
{
if (value.length<10)
{
_phoneNumber = value;
}
else
{
_phoneNumber = phoneFormatter.format(value);
}
// Create and dispatch event
var eventObj:Event = new Event("phoneNumberChanged");
dispatchEvent(eventObj);
}
]]>
formatString="(###) ###-####" validPatternChars="#-() " />
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom=" 10" layout="horizontal">
3、[DefaultProperty]
DefaultProperty元数据标签用来将一个单一属性设定为某个类的默认属性。它允许在一个容器标签内设定属性,而不用定义属性的名字。
package comps
{
import mx.controls.Button;
[DefaultProperty("label")]
public class MyButton extends Button
{
}
}
Using the MyButton class wih [DefaultProperty]
<?xml version="1.0" encoding="utf-8"?>
xmlns:comps="comps.*">
Test
4、[Embed]
Embed元数据标签用来导入图片到程序。可以通过两种方式使用Embed。你可以将图片嵌入到ActionScript中并将其指派给一个变量,或者你也可以将图片直接指派给组件的属性。
方式一:
[Embed(source="myIcon.gif")]
[Bindable]
public var myIcon:Class;
方式二:
上面这两个例子产生的结果是一样的。创建myIcon类的好处是,它在一个类中只定义一次并可以绑定到程序中的多个组件。
5、[Event]
Event元数据标签用来声明那些被自定义类分派的事件。将这个元数据标签添加到类定义中之后,你就可以在MXML标签中添加事件处理函数来初始化该自定义类。
Custom ButtonLabel class using [Event]
package comps
{
import mx.controls.Button;
import flash.events.Event;
// Define the custom event
[Event(name="labelChanged", type="flash.events.Event")]
public class ButtonLabel extends Button
{
// property to hold label value
private var _myLabel:String;
// public setter method
public function set myLabel(s:String):void
{
_myLabel = s;
this.label = s;
// Create and dispatch custom event
var eventObj:Event = new Event("labelChanged");
dispatchEvent(eventObj);
}
}
}
Using the ButtonLabel class with the labelChanged [Event]
<?xml version="1.0" encoding="utf-8"?>
xmlns:comps="comps.*" backgroundColor="#FFFFFF">
import mx.controls.Alert;
import flash.events.Event;
// method to handle custom event
public function labelChanged(eventObj:Event):void
{
myTA.text= myTA.text + "\n"+ eventObj.target.label;
myTA.verticalScrollPosition = myTA.verticalScrollPosition +20;
}
]]>
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom=" 10" layout="absolute">
change="myButton.myLabel=buttonLabelTI.text" x="10" y="9"/>
6、[Effect]
Effect元数据标签用来定义一个自定义效果,当某个事件发生的时候该效果会被分派。
Add the Effect metadata tag
...
// Define the custom event
[Event(name="labelChanged", type="flash.events.Event")]
[Effect(name="labelChangedEffect", event="labelChanged")]
public class ButtonLabel extends Button {
...
Add labelChangedEffect to the Component
Instantiation MXML Tag
labelChangedEffect="myEffect" x="10" y="39"/>
7、[IconFile]
IconFile是用来定义一个jpg,gif或者png文件的文件名的,它在你的自定义类中作为图标来使用。[Embed]元数据标签可以用来嵌入图片、SWF文件、音乐文件以及视频文件等,而IconFile则只是用来嵌入用来作为自定义类图标的文件。下面是一个IconFile的例子:
[IconFile("icon.png")]
public class CustomButton extends Button
{
}
8、[Inspectable]
Inspectable元数据标签可以用来定义那些能在代码提示和属性检测器(property inspector)中显示的属性。
<?xml version="1.0" encoding="utf-8"?>
[Inspectable(defaultValue="Visa",
enumeration="Visa,Mastercard,Discover,American Express",
category="Credit Card", type="String")]
public var ccType:String;
]]>
<?xml version="1.0" encoding="utf-8"?>
xmlns:comps="comps.*" >
9、[InstanceType]
当在一个模板对象中声明一个像IDeferredInstance这样的变量时,InstanceType元数据标签就用来声明对象的类型。
用法:
[InstanceType("package.className")]
10、[NonCommittingChangeEvent]
NonCommittingChangeEvent元数据标签在某个特定事件发生的时候可以防止变量在事件发生的过程中被更改。
Using [NonCommittingChangeEvent]
<?xml version="1.0" encoding="utf-8"?>
backgroundColor="#FFFFFF">
import flash.events.Event;
private var eventObj:Event;
[Bindable(event="triggerBinding")]
[NonCommittingChangeEvent("change")]
private var s:String;
private function triggerBinding():void
{
eventObj = new Event("triggerBinding");
dispatchEvent(eventObj);
}
]]>
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom=" 10" layout="horizontal">
11、[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;
}
}
12、[Style]
Style元数据标签用来为组件定义自定义样式属性的。只需要简单地将Sytle元数据标签添加到类的定义当然,然后就可以使用getSytle方法获取它的值了。
Custom Class CustomCircle using [Style] tags
package comps
{
import mx.core.UIComponent;
[Style(name="borderColor",type="uint",format="Color",inherit="no")]
[Style(name="fillColor",type="uint",format="Color",inherit="no")]
public class CustomCircle extends UIComponent
{
public function CustomCircle()
{
super();
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
graphics.lineStyle(1, getStyle("borderColor"), 1.0);
graphics.beginFill(getStyle("fillColor"),1.0);
graphics.drawEllipse(0,0,100,100);
}
}
}
Using CustomCircle and assigning custom style properties
<?xml version="1.0" encoding="utf-8"?>
xmlns:comps="comps.*" backgroundColor="#FFFFFF">
paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom=" 10" layout="horizontal">
文章来源: 我要学flash网(www.51xflash.com) 原文地址:http://www.51xflash.com/article/flex/201104/06-13653.html#
一、概述
Flex中的元数据标签用来向编译器提供有关如何编译应用程序的信息。元数据标签只在编译时发生作用。其语法形式为[Somelabel]。使用元数据标签可以让代码变得更加简洁易读,有时我们还需要借助元数据标签来实现特定的功能,同时,让我们的代码变得更有档次。但由于Flex中的元数据标签的种类和功能非常多,笔者特将这个元数据标签的功能和用法总结出来,便于大家和笔者自己复习和查找。
二、常用的元数据标签
序号
|
标签名
|
功能
|
1
|
ArrayElementType
|
指定Array元素的类型
|
2
|
Bindable
|
指定绑定数据源
|
3
|
DefaultProperty
|
指定类默认属性
|
4
|
Deprecated
|
元素过期标识 |
5
|
Effect
|
定义一个效果属性名称
|
6
|
Embed
|
用来向程序中嵌入JPEG、GIF、PNG、SVG等格式的图片文件及字体文件
|
7
|
Event
|
声明一个事件 |
8
|
Exclude
|
使FB的标签检查器忽略类中的某个元素。如果父类中的元素使用了这个标签,那么子类将不会继承这个元素
|
9
|
ExcludeClass
|
使FB标签检查器忽略类 |
10
|
IconFile
|
用来标自定义类指定一个图标,使组件在FB的插入面板中以该图显示。支持个是有PNG、GIF和JPEG
|
11
|
Inspectable
|
指定一个IDeferredinstance类型属性的可取值的类型,这个值必须包含完整的包名。 |
12
|
NonCommittingChangeEvent
|
用来标记一个变量,当某个特定事件发生时暂时不会派发change事件,避免这个变量发生更改
|
13
|
RemoteClass
|
用来设定一个AS类,使该类与一个服务器端的类实现映射,以便于数据转换,服务器端的类可以是PHP、ASP.Net、Java类或ColdFusion CFC等
|
14
|
Style
|
用来为组件定义样式属性 |
15
|
Transient
|
当一个AS对象与服务器端对象简历映射关系后,被[Transient]元数据标签标识的属性会从发送到服务器的数据中忽略掉。 |
三、特殊的元数据标签
这些特殊元数据标签和前面介绍的常见元数据标签相比,其差别是,特殊元数据标签在Flex帮助文档中没有出现,而仅供Flex内部使用,而这些标签中的一部分对开发者来所还是有一定的实际意义,故在本节中做个小结。
序号
|
标签名
|
功能
|
1
|
AccessibilityClass
|
用来再组件中实现辅助功能
|
2
|
ChangeEvent
|
用来定义某个属性发生变化时派发的事件
|
3
|
CollapseWhiteSpace
|
用来清除多余的空白字符,可以在TextInput、TextArea、Label等组件的类定义中看到这个标签
|
4
|
Frame
|
1、允许在时间轴上包含多个帧;
2、取得类的定义,类似于import或getDefinitionByName
|
5
|
Mixin
|
希望让某些代码先于其它代码执行,可以使用[Mixin]元数据标签,并创建init()方法
|
6
|
PercentProxy
|
使一个属性能够以百分比的形式接受数据
|
7
|
ResourceBundle
|
用来定义资源包,通常可以使用该标签为Flex应用程序添加多语言资源包,包含文本、图片及SWF文件等多种资源。
|
8
|
SWF
|
用来在AS项目中定义SWF文件的参数。它必须放在项目主类的类定义之前。
属性
|
类型
|
说明
|
width
|
Number
|
设置SWF文件的宽度 |
height
|
Number
|
设置SWF文件的高度 |
widthPercent
|
Number
|
以百分比的形式设置SWF文件的宽度 |
heightPercent
|
Number
|
以百分比的形式设置SWF文件的高度 |
scriptRecursionLimit
|
Number
|
设置Flash Player或AIR中循环的最大深度。默认为1000 |
ScriptTimeLimit |
Number
|
设置超时时间,超时后Flash Player或AIR会停止处理并退出。以秒为单位,默认值为60 |
frameRate
|
Number
|
设置帧频,默认值为24 |
backgroundColor
|
Number
|
设置背景色 |
pageTitle
|
String
|
设置浏览器中显示的标题 |
|
分享到:
相关推荐
Flex 3D标签云是一种在Flex平台上创建动态、立体效果的标签展示技术,它通过将传统的二维标签转换为三维空间中的旋转元素,为用户提供了更直观、更具视觉吸引力的交互体验。这种技术常用于网站、应用程序或者数据...
Selenium 对 Flex 程序的自动化测试 Selenium 是一个自动化测试工具,它可以模拟用户的行为来测试 Web 应用程序。Flex 是一种基于 XML 的开发语言,用于构建 Rich Internet ...标签:Selenium、Flex、自动化测试
Flex标签云是一种动态展示文本标签的技术,常用于网站的关键词展示或者分类导航,它通过动态调整各个标签的大小和位置,创造出视觉上引人注目的效果。本源代码实现了在不同方向(上下左右)滚动的Flex标签云,适用于...
### Flex Repeater标签使用教程 #### 一、引言 在Flex开发中,`Repeater`组件是一个非常实用的功能,它允许开发者根据动态或静态的数据数组,在运行时重复显示一个或多个用户界面组件。这对于创建动态且响应式界面...
它基于XML标准,使得开发者可以通过简单的标签语法来构建复杂的UI组件。 ##### 1. MXML的基本结构 MXML文档通常由以下几部分组成: - **文档类型声明**:指定文档的版本及编码方式。 - **根元素**:通常是`...
### Flex AS3 元数据标签综合解析 #### 一、元数据标签概述 在Flex与AS3(ActionScript 3)开发中,元数据标签(Metadata Tags)是一种重要的语法结构,用于向编译器提供有关类或成员的额外信息。这些标签能够帮助...
### Flex 2 中的元数据标签 在Flex 2中,元数据标签是用于提供类、方法或属性的额外信息的一种特殊标记。这些标签通常位于类定义或成员声明之前,并被ActionScript编译器用来控制类的行为或者为开发工具提供有关...
- **display**: 使一个元素成为一个flex容器,设置`display: flex`或者`display: inline-flex`,后者在内联元素上表现相同但呈现为内联块级元素。 - **flex-direction**: 定义了主轴的方向(项目的排列方向)。 -...
Flex布局,全称Flexible Box,是一种用于处理容器中子元素布局的CSS3模块。它允许开发者在不同尺寸的设备上灵活地调整元素的大小和位置,尤其适用于响应式网页设计。在Web开发中,随着移动优先的设计理念普及,Flex...
Flex2PrimitiveExplorer旨在帮助开发者探索Flex 2框架中的基本图形元素和形状。它提供了对矢量图形、位图、文本等元素的实时编辑功能,使开发者能够了解如何构建复杂的用户界面组件。通过这个工具,开发者可以学习...
- **节点标签和子节点**: XML元素的文本可以作为节点的标签,而子元素则代表子节点。 3. **实例和源代码分析** - **创建XML数据**: 创建一个XML对象,然后添加元素和子元素,模拟树的层级结构。 - **解析XML**: ...
- 在MXML中,你可以使用`<s:Skin>`标签作为根元素,并添加如`<s:Rect>`, `<s:Path>`, `<s:Image>`等图形元素来构建皮肤。 3. **关联组件和皮肤** - 自定义的皮肤需要与组件关联。在组件类中,使用`skinClass`属性...
标签"Flex"表明本主题主要关注的是Flex框架及其组件的使用。压缩包中的"WordOnLine"可能是一个示例项目,展示了如何使用Flex组件来构建在线文字处理工具。这样的应用可能包括文本编辑、格式化、保存和分享文档等功能...
2. **Flex2PrimitiveExplorer.swf**:此文件可能是Flex 2时期的原始图形探索器,用于演示和测试Flex 2中的基本图形元素和绘制功能。在Flex 2中,开发者可以利用ActionScript 2.0来创建和操作图形,包括线条、形状、...
“工具”标签可能是指用于辅助开发或调试Flex地图应用的工具,比如Flex Builder(现已被Adobe Flash Builder取代)或各种代码编辑器。这些工具可以提供代码提示、调试环境、性能分析等功能,帮助开发者更高效地构建...
Flex样式选择器是Adobe Flex框架中的一个重要组成部分,用于在Flex应用程序中定义和管理用户界面元素的外观。这个选择器允许开发者以声明式的方式定制控件的样式,从而实现丰富的视觉效果和交互体验。Flex框架是基于...
5. **示例解析**:在提供的示例中,`test.jsp` 使用了 `<mm:mxml>` 标签,其 `source` 属性指定了要嵌入的 Flex 应用程序 `MainApp.mxml`。这样,MXML 文件中的所有内容都会在 JSP 页面中呈现,用户可以看到由 Flex ...
源码部分可能涵盖了一些基础的Flex组件,比如UI元素的创建、事件处理、数据绑定等。而工具部分则可能讲解了如何利用这些工具进行项目构建、调试和部署。 在移动开发.pptx这个文件中,我们通常可以期待看到详细的...
5. **Flex组件库**: Flex提供了一系列预定义的UI组件,如按钮、标签、列表等,这些组件可直接在MXML中使用,减少了开发工作量。 6. **数据绑定**: Flex支持数据绑定,允许UI元素的属性自动与应用程序的数据模型同步...