个人总结flex各种用法(转)
var x:Number=Capabilities.screenResolutionX;
var y:Number=Capabilities.screenResolutionY;
Alert.show("x="+x+"y="+y);
第二种方法
Alert.show(stage.fullScreenWidth+"=="+stage.fullScreenHeight);
//获得stage(工作区)的宽、高
Alert.show(stage.stageWidth+"=="+stage.stageHeight);
//读取xml文件
private function readxml2():void
{
var urlrequest:URLRequest=new URLRequest("file/stu.xml");
var urlloader:URLLoader=new URLLoader(urlrequest);
urlloader.addEventListener(Event.COMPLETE, completehandler);
}
private function completehandler(event:Event):void
{
var xml:XML=new XML(event.target.data);
// var arr:Array=new Array(xml);
this.dg.dataProvider=xml.children();
this.tree.dataProvider=xml;
this.cb.dataProvider=xml.children();
// this.hlist.dataProvider=xml.children();
}
//flex 获得系统路径
var add:String=ExternalInterface.call("window.location.href.toString",1);
Alert.show(add);
//背景颜色不断变化
private function changeBG():void{
var mytime:Timer=new Timer(2000);
mytime.addEventListener(TimerEvent.TIMER,changHandle);
mytime.start();
}
private function changHandle(e:TimerEvent):void{
this.setStyle("backgroundColor",Math.random()* 0xffffff);
}
//获得键盘按下的键的值
public function getCode():void
{
btn.addEventListener(KeyboardEvent.KEY_DOWN, keyHandle);
}
function keyHandle(event:KeyboardEvent):void
{
Alert.show("你按下了:" + String.fromCharCode(event.charCode));
}
//动态加载不同界面
import commont.Two;
import commont.One;
var t:Two=new Two();
var o:One=new One();
private function showOne():void{
tw.removeAllChildren();
tw.addChild(o);
}
private function showTwo():void{
tw.removeAllChildren();
tw.addChild(t);
}
//flex 绑定图片
[Bindable]
[Embed(source="img/1.jpg")]
public var phone1:Class;
//日期中文标题
<mx:DateChooser id="dtchoose" x="219" y="83" dayNames="[日,一,二,三,四,五,六]" monthNames="[一月,二月,三月,四月,五月,六月,七月,八月,九月,十月,十一月,十二月]" change="disDate()" minYear="2007"/>
//选择日期 dateChoose
function disDate():void{
txtDate.text=fm.format(dtchoose.selectedDate.toLocaleDateString());
}
//flex 中添加html标记
<mx:TextArea id="text" creationComplete="init()" width="248" height="59">
<mx:htmlText>
<![CDATA[
<input type='file'/>
<a href="http://www.baidu.com">你哈!!!</a>
]]>
</mx:htmlText>
</mx:TextArea>
//flex 带下划线的链接
this.lblLink.htmlText="<a href='http://www.google.com' target='_blank'>新 闻</a>";
<mx:Label x="524" y="393" text="Hellollll" id="lblLink" rollOver="focusManager.deactivate()" color="blue" opaqueBackground="#ffffff"
rollOut="focusManager.activate()" styleName="Label"
creationComplete="link()"/>
.Label{text-roll-over-color:red; text-decoration:underline; background-color:green; font-size:12px; text-selected-color:red;}
//flex 转向 URL
Var url:URLRequest=new URLRequest(“http://www.google.cn”);
navigateToURL(url,”_self”);//在本页打开
navigateToURL(url,”_blank”);//在新的一页打开
//弹出对话框
---------非模式打开---------
PopUpManager.createPopUp(this,类(界面)的名称);
---------模式打开---------
var ep:Main=new Main ();
PopUpManager.addPopUp(ep,this,true);//界面,打开窗口父类,是否模式
PopUpManager.centerPopUp(ep);//在父类窗口居中
//-----Alert的用法
public function test():void
{
var glow:GlowFilter=new GlowFilter();
glow.color=StyleManager.getColorName("blue");//边框颜色
glow.strength=5;
glow.alpha=0.8;
var alert:Alert=Alert.show("是否选择","提示",Alert.YES|Alert.NO,this,alertHandle);
alert.filters=[glow];
}
private function alertHandle(event:CloseEvent):void{
if(event.detail==Alert.YES){
lbl.text="是";
}else{
lbl.text="否";
}
}
<mx:Button x="62" y="80" label="Button" click="test()"/>
<mx:Label x="62" y="37" text="Label" width="65" id="lbl"/>
//flex Combobox添加 –请选择-
private function loadCB(){
var arr:Array=new Array("-请选择-");
for(var i:int=1;i<10;i++){
arr[i]=i;
}
this.cb.dataProvider=arr;
}
//combobox 选择的值和下标
private function selected():void{
Alert.show(cb.selectedItem.toString()+"下标:"+cb.selectedIndex);
}
<mx:ComboBox x="194" y="80" id="cb" creationComplete="loadCB()" change="selected()">
//鼠标移动变大,Button加图片,变手型
<mx:Button x="72" y="80" label="Button" click="test()" mouseMove="changBig()" mouseOut="changSmall()" id="btn" height="52" icon="@Embed(source='img/3.jpg')"
labelPlacement="bottom" width="67" useHandCursor="true" buttonMode="true"/>
private function changBig():void{
this.btn.scaleX=1.5;
this.btn.scaleY=1.5
}
private function changSmall():void{
this.btn.scaleX=1;
this.btn.scaleY=1;
}
//flex panel 拖动效果
<mx:Panel x="194" y="125" width="192" height="121" layout="absolute" id="panel" mouseDown="ondragStart(event)" mouseUp="ondragStop(event)">
</mx:Panel>
private function ondragStart(event:MouseEvent):void{
Panel(event.target).startDrag();
}
private function ondragStop(event:MouseEvent):void{
Panel(event.target).stopDrag();
}
//写入共享数据
share=SharedObject.getLocal("username");
share.data.userName=txtUser.text;
share.flush();
//读取共享数据
var share:SharedObject=SharedObject.getLocal("username");
Alert.show(share.data.userName);
//jsp/html文件嵌入到flex中(需要把flexiframe.swc放在项目的flex_libs下)
Application标签内xmlns:code=http://code.google.com/p/flex-iframe/
<mx:HDividedBox x="0" y="10" width="100%" height="500">
<mx:Panel width="30%" height="500" layout="absolute">
</mx:Panel>
<mx:Panel width="70%" height="500" layout="absolute">
<code:IFrame id="frm" source="file/万年历.html" height="100%" width="100%"/><!-这是最重要的-à
</mx:Panel>
</mx:HDividedBox>
//检查使用的操作系统
private function checkOS():void{
var os:String=Capabilities.os;
tt.text="你的操作系统是:--"+os;
}
//检查所使用的浏览器
private function checkPlay():void{
var play:String=Capabilities.playerType;
Alert.show(play);
if(play=="ActiveX"){
tt.text="你的浏览器是--IE";
}else if(play=="PlugIn"){
tt.text="你的浏览器是--Mozilla-Firefox";
}else{
tt.text="你的浏览器是--其他";
}
}
//检查player的版本和使用的语言
private function other():void{
var v:String=Capabilities.version;
var l:String=Capabilities.language;
tt.text="你的flayer版本号:--"+v+
"\r\n你的语言是:--"+l;
}
//改变鼠标样式
[Bindable]
[Embed(source="img/157.jpg")]
public var cur:Class;
private function initCursor(event:Event){
CursorManager.setCursor(cur);
}
//设置AdvancedDataGrid的表头竖线为空
headerSortSeparatorSkin="mx.skins.ProgrammaticSkin"
//获得鼠标坐标
var cx:Number=CursorManager.currentCursorXOffset;
var cy:Number=CursorManager.currentCursorYOffset;
var id:int=CursorManager.currentCursorID;
Alert.show("x:="+cx+"y:="+y+"id="+id);