1、让Label、Text中的文本自动换行:
<mx:Label id="lab" creationComplete="{lab.mx_internal::getTextField().wordWrap = true;}"/>
Text 标签同理
2、flex获得年月日:
var date:Date = new Date();
var df:DateFormatter = new DateFormatter();
df.formatString = 'YYYY-MM-DD HH:NN:SS';
trace(df.format(date));
格式化时间戳:1314063166171 (自 1970 年 1 月 1 日午夜以来的毫秒数。)flex 获得时间戳的方法是 new Date().getTime() 。
Date 的 getTime() 方法 是 自 1970 年 1 月 1 日午夜以来的毫秒数。
getTime() 得到的时间毫秒数跟 java 和 php 等得到的毫秒数是一样的。
格式化毫秒数的方法:
var df:DateFormatter = new DateFormatter();
df.formatString = 'YYYY-MM-DD HH:NN:SS'; // 1314063166171
trace(" 格式化时间戳 = ",df.format(new Date())); //当前时间
trace(" 格式化时间戳 = ",df.format(new Date(1314063166171))); //已有时间
注意:new Date()中的数字不能为String 类型。类型为String转化会有问题。
3、ArrayCollection 数据
private var tempArr:ArrayCollection = new ArrayCollection(
[
{date:"2011-3-4",type:"[flex]",title:"flex开发"},
{date:"2011-3-4",type:"[java]",title:"java开发"},
{date:"2011-3-4",type:"[php]",title:"php开发"},
]
);
4、
屏幕分辨率相关
Capabilities
Capabilities 类提供一些属性,这些属性描述了承载 SWF 文件的系统和播放器。例如,手机屏幕可以有 100 个正方形像素(黑白),而 PC 屏幕则可以有 1000 个正方形像素(彩色)。通过使用 Capabilities 对象来确定用户所拥有的设备的类型,可以向尽可能多的用户提供适当的内容。如果熟悉设备的功能,则可以通知服务器发送合适的 SWF 文件,或是通知 SWF 文件变更其播放方式。
可使用 GET
或 POST
HTTP 方法发送功能信息,这些信息作为一个 URL 编码的字符串存储在 Capabilities.serverString
属性中。下例显示了支持 MP3、具有 1600 x 1200 像素分辨率、运行 Windows XP 并且安装有输入法编辑器 (IME) 的计算机的服务器字符串:
A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=f&PR=t&SP=t& SB=f&DEB=t&V=WIN%209%2C0%2C0%2C0&M=Adobe%20Windows& R=1600x1200&DP=72&COL=color&AR=1.0&OS=Windows%20XP& L=en&PT=External&AVD=f&LFD=f&WD=f&IME=t
【 FlexGlobals 出自于 Flex4 】
5、自动更新界面组件大小,如:
5、自动更新界面组件大小,如:
ViewStack 设置 resizeToContent="true"
6、获得Text组件的行数和列数
var numLines:int = summaryText.mx_internal::getTextField().numLines;
var lineLength:int = summaryText.mx_internal::getTextField().getLineLength(numLines - 1);
7、Embed 嵌入资源
1)<mx:Image id="myLogo" source="@Embed('assets/logo.png')"/>
2)[Embed(source="/assets/report/reportLibrary/pdf.png")] public var pdfIcon:Class;
8、通过两开时间戳来计算其之间相差的天数
var begin:Number = 128672640032;
var end:Number = 1318175999328;
var count:int= (end - begin)/60/60/1000/24 + 1;
9、加载外部 swf 样式文件
var event:IEventDispatcher = StyleManager.loadStyleDeclarations("assets/compStyle.swf", true);
event.addEventListener(StyleEvent.COMPLETE, loadStyleHandler);
----------------------------------------------------------------------------------
private function loadStyleHandler(event:StyleEvent):void
{
trace("load swf style css finish");
}
10、将组件的 【属性】提取成为【样式】
1) 作为 .as 文件来做:
package com.comps
{
import mx.containers.VBox;
[Style(name="heightStyle", type="Number", format="uint", inherit="no")]
public class MyVBox extends VBox
{
public function MyVBox()
{
}
override public function styleChanged(styleProp:String):void
{
super.styleChanged(styleProp);
var heightNum:Number;
switch (styleProp){
case "heightStyle":
heightNum = this.getStyle( styleProp ) as Number;
this.height = heightNum;
break;
}
this.invalidateDisplayList();
}
}
}
2) 作为组件来做:
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="100%">
<mx:Metadata>
[Style(name="heightStyle",type="Number",format="Number",inherit="no")]
</mx:Metadata>
<mx:Script>
<![CDATA[
/**
* 重写styleChanged事件,处理combobox样式
*/
public override function styleChanged(styleProp:String):void
{
super.styleChanged( styleProp );
var heightNum:Number;
switch( styleProp )
{
case "heightStyle":
heightNum = getStyle( styleProp ) as Number
if( heightNum != 0 )
{
this.height = heightNum;
}
break;
}
}
]]>
</mx:Script>
</mx:HBox>
11、其它