flex PopUpManager 的使用

PopUpManager 类主要是用来弹出新的窗口或者对话框。我们主要使用它的一些方法来创建UI窗口,并设置窗口的弹出方式,以及删除窗口。

PopUpManager 类弹出窗口的2种方式如下:

1 使用 addPopUp 。(new出来对象,设置好表现形式,然后在选择弹出来的方式。一定要注意new对象与弹出方式的先后顺序),核心代码如下:

var label:Label = new Label();    
   label.text = "Hello world";
   titleWindow = new TitleWindow();    
   titleWindow.title = "Custom title";    
   titleWindow.showCloseButton = true;    
   titleWindow.width = 240;    
   titleWindow.height = 180;    
   titleWindow.addEventListener(CloseEvent.CLOSE, titleWindow_close);    
   titleWindow.addChild(label);    
 PopUpManager.addPopUp(titleWindow, this, true);    
 PopUpManager.centerPopUp(titleWindow);   
//如下代码。居中弹出。
titleWindow.x=FlexGlobals.topLevelApplication.stage.stageWidth/2- titleWindow.width/2;  
titleWindow.y=FlexGlobals.topLevelApplication.stage.stageHeight/2- titleWindow.height/2;
addPopUp方法的一些参数说明:

parent一个引用,引用弹出Flex窗口所在的Flex窗口。

class一个引用,引用要创建的对象的类。

modal一个布尔值,它表明该Flex窗口是(true)(false)是模式的。

initobj一个包含初始化属性的对象。此参数是可选的。

outsideEvents一个布尔值,指明在用户单击Flex窗口以外的区域时是(true)(false)触发事件。此参数是可选的。

其中,前三个参数是必须的,后两个是可选的。第二个参数要和你的mxml文件名一致,第三个参数如果选择是则不允许弹出Flex窗口没关闭前操作父Flex窗口,反之则允许。

当子Flex窗口被创建的时候父Flex窗口就获得了一个子Flex窗口的实例,例如我在子Flex窗口中做如下定义:varname:String="哈哈";。在父Flex窗口中可以使用popup.name引用该变量。同样,在子Flex窗口中我们可以使用"parent"来引用父Flex窗口中定义的变量,例如我在父Flex窗口中定义varage:String="24";。在子Flex窗口中可以使用parent.age引用这个变量。

2 使用createPopUp。(先设置好弹出方式,然后在new出来一个TitleWindow的对象,然后通过此对象设置他的变现形式。

var label:Label = new Label();    
   label.text = "Hello world";    
   titleWindow = new TitleWindow();    
   titleWindow = TitleWindow(PopUpManager.createPopUp(this,TitleWindow,true));    
   titleWindow.title = "Custom title";    
   titleWindow.showCloseButton = true;    
   titleWindow.width = 240;    
   titleWindow.height = 180;    
   titleWindow.addChild(label);    
   titleWindow.addEventListener(CloseEvent.CLOSE, titleWindow_close);    
 PopUpManager.centerPopUp(titleWindow);    
//如下代码。居中弹出。
titleWindow.x=FlexGlobals.topLevelApplication.stage.stageWidth/2- titleWindow.width/2;  
titleWindow.y=FlexGlobals.topLevelApplication.stage.stageHeight/2- titleWindow.height/2;

当然还可以,使弹出的窗口,进行全屏显示,如下:

//全屏显示
titleWindow.explicitWidth=FlexGlobals.topLevelApplication.stage.stageWidth;
titleWindow.explicitHeight=FlexGlobals.topLevelApplication.stage.stageHeight;


结束!



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章