Flex4之元数据标签使用
1、[ArrayElementType]
public var arrayOfStrings:Array;
public var arrayOfNumbers:Array;
public var arrayOfUIComponents:Array;
2、[Bindable]
<![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>
<![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]
{
import mx.controls.Button;
[DefaultProperty("label")]
public class MyButton extends Button
{
}
}
<mx:String>Test</mx:String>
</comps:MyButton>
4、[Embed]
[Embed(source="myIcon.gif")]
[Bindable]
public var myIcon:Class;
<mx:Button label="Icon Button 1" icon="@Embed(source=myIcon.gif')"/>
5、[Event]
{
import mx.controls.Button;
import flash.events.Event;
// Define the custom event
[Event(name="labelChanged", type="flash.events.Event")]
{
// 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);
}
}
}
<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]
...
// Define the custom event
[Event(name="labelChanged", type="flash.events.Event")]
[Effect(name="labelChangedEffect", event="labelChanged")]
public class ButtonLabel extends Button {
...
Instantiation MXML Tag
<comps:ButtonLabel id="myButton" labelChanged="labelChanged(event);"
labelChangedEffect="myEffect" x="10" y="39"/>
7、[IconFile]
[IconFile("icon.png")]
public class CustomButton extends Button
{
}
8、[Inspectable]
<![CDATA[
[Inspectable(defaultValue="Visa",
enumeration="Visa,Mastercard,Discover,American Express",
category="Credit Card", type="String")]
public var ccType:String;
]]>
</fx:Script>
</mx:HBox>
9、[InstanceType]
用法:
[InstanceType("package.className")]
10、[NonCommittingChangeEvent]
<![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}" />
11、[RemoteClass]
{
[Bindable]
[RemoteClass(alias="com.mydomain.MyClass")]
public class MyClass
{
public var id:int;
}
12、[Style]
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);
}
}
}
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对象后,被该标签标识的属性,会从发送到服务端的数据中忽略掉。 |
Flex4之元数据标签使用的更多相关文章
- 元数据标签Embed
关于Embed外部资源的使用方法总结 Flex软件中经常需要使用一些外部的资源,如图片.声音.SWF或字体,虽然你也可以在软件运行的时候引入和载入,但是也可能经常需要直接将这些资源编译(Compile ...
- Flex Metadata tags 元数据标签
1.[Alternative] [可替换] 标明此类可以被参数中的类替换,版本号说明发生替换的版本. [Alternative]和[Deprecated] 不同.如果是[不建议使用]的类,以后的版本可 ...
- 最齐全的站点元数据meta标签的含义和使用方法
最齐全的站点元数据meta标签的含义和使用方法 随着HTML5的流行和Web技术的不断演变,Meta标签队伍也越来越壮大,从Windows XP的IE6到现在Windows 7.Windows 8的I ...
- Java:注解(元数据)
初识Java注解 所谓的元数据是指用来描述数据的数据,可能刚听到元数据的时候你会有点陌生,其实任何一个使用过struts或者hibernate的开发人员都在不知不觉中使用元数据,更通俗一点来说元数据是 ...
- as3.0 [Embed]标签嵌入外部资源
1.[Embed]嵌入资源 ActionScript代码的顺序非常重要.你必须在声明变量前添加[Embed]元数据标签,而且这个变量的类型会是Class; package { import flash ...
- 前端入门2-HTML标签
本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 声明 本系列文章内容全部梳理自以下四个来源: <HTML5权威指南> <JavaScript权威指南> MD ...
- java 元数据
什么是元数据? 元数据是指用来描述数据的数据,更通俗一点,就是描述代码间关系,或者代码与其他资源(例如数据库表)之间内在联系的数据.在一些技术框架,如struts.EJB.hibernate就不知不觉 ...
- 经常使用meta标签属性
<meta> 1.Keywords (keyword) 说明:告诉搜索引擎你网页的keyword是什么. 使用方法:<meta name="keywords" c ...
- 如何扩展ArcGIS中的元数据编辑器
http://www.esrichina-bj.cn/old../library/arcnews16/Metadata.htm http://www.esrichina-bj.cn/old../lib ...
随机推荐
- <转>如何测试大型ERP软件?
大型ERP软件是一个在企业范围内部应用的.高度集成的软件,且操作频繁,数据在各业务系统之间高度共享.那么针对大型ERP软件的特点,我们应该怎么测试呢?要使用怎样的测试方法?需要什么样的测试人员?... ...
- 《Python 学习手册4th》 第四章 介绍Python对象类型
''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容(每天看42页内容,可以保证月底看完此书) ''' ...
- FILEtoJPG-神秘文件 -更新(软件BUG及建议可以在这里反馈)
FILEtoJPG-神秘文件(文件神隐助手) 论坛神器!彩虹系列作品之神秘文件(文件神隐助手),帮你隐藏文件的好帮手! 已更新,移除对winRAR的依赖 放张大图镇帖: 此图略丑,但是很有用,文末告诉 ...
- CodeForce---Educational Codeforces Round 3 Load Balancing 正题
看到这题是我的想法就是肯定跟平均值有关但是接下来就不知道怎么做了 看完大神的正解数之后,原来发现是这么简单,但是就是不知道为啥一定是平均值和平均值加1,而不是平均值和平均值减1: 好啦下面就贴出大神的 ...
- 利用Spring.Net技术打造可切换的分布式缓存读写类
利用Spring.Net技术打造可切换的Memcached分布式缓存读写类 Memcached是一个高性能的分布式内存对象缓存系统,因为工作在内存,读写速率比数据库高的不是一般的多,和Radis一样具 ...
- 写i2c_client驱动的两种方式
http://www.cnblogs.com/simonshi/archive/2011/02/24/1963426.html
- bzoj 2595 [Wc2008]游览计划(斯坦纳树)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2595 [题意] 给定N*M的长方形,选最少权值和的格子使得要求的K个点连通. [科普] ...
- css 超出部分显示省略号
代码: overflow: hidden; white-space: nowrap; text-overflow: ellipsis; 重点代码:text-overflow: ellipsis; 解 ...
- URAL-1982 Electrification Plan 最小生成树
题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1982 题意:无向图,给n个点,n^2条边,每条边有个一权值,其中有k个点有发电站,给出这 ...
- j2ee的十三个规范
转载 今天在做连接oracle数据库的时候,感受到了什么是规范.平时听到别人说学习j2ee一定要学习他的十三个规范,大概的知道每个规范是做什么的,每个“接口”是做什么的. 很早就听过 ...