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]
<fx:Script>
<![CDATA[
   [Bindable]
   private var me:String="Rich Tretola";
]]>
</fx:Script>

<mx:Panel title="Simple Binding" width="500" height="90"
   paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom=" 10" layout="horizontal">
<mx:Label text="{me}"/>
</mx:Panel>

Bindable也可以用来绑定到事件Using [Bindable] with getters and setters
<fx:Script>
<![CDATA[
   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);
   }
]]>
</fx:Script>

<mx:PhoneFormatter id="phoneFormatter"
   formatString="(###) ###-####" validPatternChars="#-() " />
<mx:Panel title="Bind with Getters and Setters" width="500" height="90"
   paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom=" 10" layout="horizontal">
   <mx:TextInput id="ti1" change="phoneNumber=ti1.text" maxChars="10" restrict="0-9"/>
   <mx:TextInput id="ti2" text="{phoneNumber}"/>
</mx:Panel>
3、[DefaultProperty]
DefaultProperty元数据标签用来将一个单一属性设定为某个类的默认属性。它允许在一个容器标签内设定属性,而不用定义属性的名字。package comps
{
import mx.controls.Button;
[DefaultProperty("label")]
public class MyButton extends Button
{
  
}
}Using the MyButton class wih [DefaultProperty] <comps:MyButton>
   <mx:String>Test</mx:String>
</comps:MyButton>

4、[Embed]
Embed元数据标签用来导入图片到程序。可以通过两种方式使用Embed。你可以将图片嵌入到ActionScript中并将其指派给一个变量,或者你也可以将图片直接指派给组件的属性。方式一:
[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}"/>方式二:
<mx:Button label="Icon Button 1" icon="@Embed(source=myIcon.gif')"/><mx:Button label="Icon Button 2" icon="@Embed(source=myIcon.gif')"/>上面这两个例子产生的结果是一样的。创建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]
  
<fx:Script>
<![CDATA[
   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;
   }
]]>
</fx:Script>

<mx:Panel title="Event Sample" width="500" height="275"
   paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom=" 10" layout="absolute">
  
   <mx:TextInput id="buttonLabelTI"
    change="myButton.myLabel=buttonLabelTI.text" x="10" y="9"/>
   <!--Instantiate custom class and define method to handle label- Changed event-->

<comps:ButtonLabel id="myButton" labelChanged="labelChanged(event);" x="10" y="39"/>
   <mx:TextArea id="myTA" width="200" height="200" x="249" y="10"/>

</mx:Panel>

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
<comps:ButtonLabel id="myButton" labelChanged="labelChanged(event);"
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)中显示的属性。 <fx:Script>
<![CDATA[
   [Inspectable(defaultValue="Visa",
   enumeration="Visa,Mastercard,Discover,American Express",
   category="Credit Card", type="String")]
  
   public var ccType:String;
]]>
</fx:Script>
</mx:HBox>
<comps:MyComponent ccType=""/>

9、[InstanceType]
当在一个模板对象中声明一个像IDeferredInstance这样的变量时,InstanceType元数据标签就用来声明对象的类型。
用法:
[InstanceType("package.className")]
10、[NonCommittingChangeEvent]
NonCommittingChangeEvent元数据标签在某个特定事件发生的时候可以防止变量在事件发生的过程中被更改。Using [NonCommittingChangeEvent]
<fx:Script>
<![CDATA[
   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);
   }
]]>
</fx:Script>

<mx:Panel title="NonCommittingChangeEvent Sample" width="500" height="90"
   paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom=" 10" layout="horizontal">
  
   <mx:TextInput id="ti1" change="s=ti1.text" enter="triggerBinding()"/>
   <mx:TextInput id="ti2" text="{s}" /> </mx:Panel>
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
<mx:Panel title="Style Sample" width="200" height="200"
   paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom=" 10" layout="horizontal">
  
   <comps:CustomCircle borderColor="#000000" fillColor="#FF0000" />

</mx:Panel> 标签 描述 [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对象后,被该标签标识的属性,会从发送到服务端的数据中忽略掉。

转载于:https://www.cnblogs.com/xinzhuangzi/archive/2010/08/26/4100536.html

Flex 元数据标签使用相关推荐

  1. Flex4之元数据标签使用

    Flex 元数据标签 1.[ArrayElementType] 使用ArrayElementType元数据标签可以让你定义数组元素的数据类型. 程序代码: [ArrayElementType(&quo ...

  2. html元数据是什么意思,HTML meta 元数据标签

    HTML 元数据标签 标签是数据的数据信息. 标签提供文档的数据信息,不会在客户端显示,但会被搜索引擎和浏览器解析,通常用于页面的关键词.描述.作者等, 标签通常位于 区域内, 标签没有结束标签. 案 ...

  3. 元数据标签的含义和用法

    最齐全的网站元数据meta标签的含义和用法 随着HTML5的流行和Web技术的不断演变,Meta标签队伍也越来越壮大,从Windows XP的IE6到如今Windows 7.Windows 8的IE9 ...

  4. 转:flex [Inspectable]标签详解

    flex里的[Inspectable]标签用于为as类的属性定义一些可供flex代码提示等使用的信息,比如属性的类型啦合法值啦默认值啦之类的,[Inspectable]标签可以用在属性上,也可以用在g ...

  5. HTML中布局flex的标签,CSS3---Flex布局--项目属性

    前言 今天学习了项目的属性: [内容] 项目属性: ①沿主轴方向上的排列顺序order: 0(默认值) | ②项目的收缩因子flex-shrink: 1(默认值) | ③项目的扩张因子flex-gro ...

  6. 优秀的flash站点收集(30+)

    这里我收集一些工作中生活中遇到的或者看到的好的站点,便于以后查阅 并在不断更新中欢迎大家来copy 1.老外的特效站:http://neave.com/ 2.flash常见的游戏功能的思路算法(后面中 ...

  7. Flex 3 metadata tags 标签

    Flex 3 metadata tags Flex引入了元数据标签的概念,它告诉编译器如何编译这段Flex 或actionscript代码.大多数人都使用过[Bindable]标签,元数据标签是一种 ...

  8. 网站元数据meta标签的含义和用法

    最近在做网页,个人对网站元数据meta标签的含义和用法了解的不是很深,所以在网上搜到了一些关于这方面的知识,并摘抄至此,希望能够与大家共同学习,高手勿喷哦~~~ (注:此文原文内容访问地址:http: ...

  9. 最齐全的网站元数据meta标签的含义和用法

    最齐全的网站元数据meta标签的含义和用法 随着HTML5的流行和Web技术的不断演变,Meta标签队伍也越来越壮大,从Windows XP的IE6到如今Windows 7.Windows 8的IE9 ...

最新文章

  1. Mocha BSM基础架构管理——灵活的网络拓扑展现
  2. java通过Access_JDBC30读取access数据库时无法获取最新插入的记录
  3. [渝粤教育] 扬州工业职业技术学院 微言品语文 参考 资料
  4. android ui自动化框架选型,Appium UI 自动化框架之我见 (开源)
  5. 安卓应用安全指南 4.8 输出到 LogCat
  6. su命令\sudo命令\限制root远程登录
  7. php foreach创建文件,php – mkdir()在foreach函数中跳过第一个文件
  8. 图像处理-形态学运算
  9. 如何合理分配Elasticsearch的分片和副本
  10. 如何使用MySQL Workbench建立数据库
  11. [原创] 适合新手的转手绘教程[ JJ ]
  12. 吉大计算机学院田地,吉林大学研究生专业介绍:地质工程
  13. 三国演义人名爬取与处理
  14. 图片分类的入门:二分类
  15. Java集合基础:2. List接口和Set接口
  16. SDUT OJ 3374
  17. C#编写上位机连接华为云平台IoTDA
  18. 微型计算机的发展经历了哪几个,计算机的小故事有哪些_计算机发展史小故事...
  19. 车联网的精髓是服务-车联网服务
  20. Access转出到Mysql,咱自己动手丰衣足食.. -- 纯JS代码

热门文章

  1. linux安装tree命令
  2. python接口测试-认识GET请求
  3. TensorFlow学习笔记(一):数据操作指南
  4. arcgis Server Object Extension (SOE)部署jar文件失败 原因探索
  5. Binder相关面试总结(一):为什么Android要采用Binder作为IPC机制?
  6. File文件操作(二):内存映射
  7. 算法--------俄罗斯套娃信封问题(Java版本)
  8. Android 停止调试程序
  9. 【Java基础】基本类型与运算
  10. Dagger2的使用