fle弹出窗口的方法大概有以下两种

来源:互联网 发布:js获取div id值 编辑:程序博客网 时间:2024/05/22 22:02
第一种:
PopUpManager.addPopUp( window, this, true );
PopUpManager.centerPopUp( window );
// 下面两行是关键的,如果有多个几层弹出窗口的话使用上面的方法没法居中,必须手动设置窗口位置,
// 当然这个只是居中于屏幕中间,如果你是想居中于上一级弹出窗口的中间的话,那就不能添加下面两行代码了
window.x=Application.application.stage.stageWidth/2-window.width/2;
window.y=Application.application.stage.stageHeight/2-window.height/2;
//Flex4中需要下面方法
window.x=FlexGlobals.topLevelApplication.stage.stageWidth/2-window.width/2;
window.y=FlexGlobals.topLevelApplication.stage.stageHeight/2-window.height/2;


第二种:
var win:popupDatagrid=popupDatagrid(PopUpManager.createPopUp(this , popupDatagrid, true));
PopUpManager.centerPopUp(win); 
win.x=FlexGlobals.topLevelApplication.stage.stageWidth/2-win.width/2;  
win.y=FlexGlobals.topLevelApplication.stage.stageHeight/2-win.height/2;   



效果都差不多,但是有一点注意的是,弹出窗口必须要指定高宽,否则它居中就出问题。
案例:我的弹出窗口是个动态生成的grid,高宽不定的, 
//容器居中
win.x=FlexGlobals.topLevelApplication.stage.stageWidth/2-win.width/2;  
win.y=FlexGlobals.topLevelApplication.stage.stageHeight/2-win.height/2;     
//屏幕居中
win_before.x = Capabilities.screenResolutionX / 2 - win_before.width / 2;
win_before.y = Capabilities.screenResolutionY / 2 - win_before.height / 2 - 50; 
这些计算都是按照最小的高宽来设置的,所以导致不居中。,其实没必要这两句话,只要你设置了高宽就能居中 ,因为centerPopUp。
0 0
原创粉丝点击