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;


結束!



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