您的当前位置:首页正文

flex PopUpManager 的使用

2024-11-09 来源:个人技术集锦

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;


结束!



Top