Flex 开发技巧集
(不定期更新,收集Flex开发过程中的一些小技巧)
1. 去除或改变Alert的模糊效果 以下样式在Panel中定义
Alert,Panel{
modalTransparency: 0.0;
modalTransparencyBlur:0;
/*modalTransparencyColor: #FF0000;
modalTransparencyDuration: 1000;*/}
2.设置TitleWindow不允许拖动
//此处this指自定义窗口对象
PopUpManager.addPopUp(this, DisplayObject(Application.application), false);
PopUpManager.centerPopUp(this);
this.isPopUp = false;
3. 设置TabNavigator的标签文本样式
TabNavigator{tabStyleName:"tabStyle";}
tabStyle{fontWeight:normal;paddingLeft:8;paddingRight:8;}
4. 获取屏幕分辨率
flash.system.Capabilities.screenResolutionX
flash.system.Capabilities.screenResolutionY
5. Label或LinkButton 的文本换行
actionscript中: label.text="aaa \r\n bbb"
mxml中: text="aaa bbb"
6. AS3 工程设置宽度、高度背景色等属性
[SWF(width="640",height="480",backgroundColor="#00FFFF",frameRate="1")]
7. Label控件实现手型图标
lbl.useHandCursor = true;
lbl.mouseChildren = false;
lbl.buttonMode = true;
8. 获取Alert的用户选择
Alert.show('msg, 'ttile', Alert.YES | Alert.NO, null, onAlertClose);
private function onAlertClose(event:CloseEvent):void
{
if(event.detail == Alert.YES){trace('choose YES');}
if(event.detail == Alert.NO){trace('choose NO');}
}
9. 删除字符串中的空格等空白字符
var myurl:String = "w w w .\nc n b l o g s.com/\triafans";
trace(myurl);
myurl = myurl.replace(/\s/g, ''); //删除空格、回车、TAB等空白字符
trace(myurl);
10. 获取用户在Alert上的选择
Alert.show('msg, 'ttile', Alert.YES | Alert.NO, null, onAlertClose);
private function onAlertClose(event:CloseEvent):void
{
if(event.detail == Alert.YES){trace('choose YES');}
if(event.detail == Alert.NO){trace('choose NO');}
}
11. Flex Builder用flashplayer直接运行swf文件(不将swf嵌入网页运行)
右键点击项目->Properties->Flex Compiler->取消勾选Generate HTML Wrapper file
12.Flash Player版本检测
版本:Capabilities.version Capabilities.isDebugger ? ("调试版本") : ("正式版本");
13. 在Flex中刷新浏览器
var urlrequest:URLRequest = new URLRequest(Application.application.url);
navigateToURL(urlrequest, '_self');
14. 设置ToolTip持续显示时间
ToolTipManager.hideDelay = 1000 * 60; //单位毫秒
15. BigEndian和LittleEndian测试的例子
var a:ByteArray = new ByteArray();
a.endian = flash.utils.Endian.BIG_ENDIAN;
a.writeShort(0x1234);
a.position = 0;
trace("0x"+a.readShort().toString(16));
a.position = 0;
a.endian = flash.utils.Endian.LITTLE_ENDIAN;
trace("0x"+a.readShort().toString(16));
16. Label 手形光标
<mx:Label label="测试" buttonMode="true" mouseChildren="false"/>
17. FMS 3.5 注册序列号 1373-5015-2684-2742-8624-4730
18. DataFormatter formatString='YYYY/MM/DD JJ:NN:SS'
19.在不同swf文件之间使用SharedObject
SharedObject.getLocal("config","/");
为避免意外限制对共享对象的访问,请使用 localpath 参数。允许级别最高的方法是将 localPath 设置为 /(斜杠),这样做可使域中的所有 SWF 文件都可访问该共享对象,但会增加与域中其它共享对象发生名称冲突的可能性。限制级别较高的方法是向 localPath 追加 SWF 文件完整路径中的文件夹名。例如,对于位于 www.myCompany.com/apps/stockwatcher.swf 的 SWF 文件创建的 portfolio 共享对象,可以将 localPath 参数设置为/、/apps 或 /apps/stockwatcher.swf。您必须确定哪种方法能为您的应用程序提供最佳的灵活性。