`
xierh21
  • 浏览: 24053 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex元数据标签-总结

    博客分类:
  • FLEX
阅读更多
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">
分享到:
评论

相关推荐

    Flex 2 中的元数据标签

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

    bison&flex编译组件bfwizard-1.6

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

    Flex_2_中的元数据标签

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

    flex笔记 flex笔记 flex笔记

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

    Flex DataGrid从XML文件中加载数据

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

    flex 绑定元数据

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

    flex4.5学习笔记

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

    flex pv3d test

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

    Mobile FLEX上百度map的试用

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

    Adobe+Flex编码指南

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

    Flex运行时加载皮肤

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

    FLEX动态加载Model

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

    Flex sdk 4.6 for UFT testing

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

    flex4 样式

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

    FLEX4 皮肤制作教程

    - **元数据**:`&lt;fx:Metadata&gt;`中的`[HostComponent]`属性指定了该皮肤对应的Flex控件,这里是`spark.components.Button`。 - **UI元素布局**: - 使用`&lt;s:Ellipse&gt;`绘制圆形背景,并通过`&lt;s:fill&gt;`和`&lt;s:stroke&gt;...

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

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

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

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

    flex_master:带R的Flex仪表板

    1. **设置R Markdown文件**:首先,创建一个新的R Markdown文件,并在元数据部分指定`flexdashboard`布局。这将告诉R Markdown引擎我们希望使用哪种模板来编译文档。 2. **组织布局**:在文档主体中,使用 YAML ...

    flex面试题

    根据提供的信息,我们可以总结出以下Flex与ActionScript (AS) 相关的知识点: ### 1. 修改默认背景颜色 - Flex Builder 3 默认新建的 MXML 文件背景颜色为蓝色,可以通过修改 SDK 中的 CSS 文件来改变这个默认值。...

Global site tag (gtag.js) - Google Analytics