更改swf的高度后,Flex弹出窗口未覆盖整个应用程序

时间:2013-05-17 08:12:42

标签: actionscript-3 flex flash-builder flex4.5

在我的Flex应用程序中,我需要通过javascript增加swf的高度:

FlexGlobals.topLevelApplication.height += 50;
ExternalInterface.call("changeMyAppHeight",FlexGlobals.topLevelApplication.height);

之后我需要显示弹出窗口:

var modalPopUp:ModalPopUp= new ModalPopUp;
PopUpManager.addPopUp(modalPopUp, DisplayObject(FlexGlobals.topLevelApplication), true);
PopUpManager.centerPopUp(modalPopUp);

此模式窗口未涵盖整个应用程序。我的应用程序底部有一个50px的间隙,没有覆盖,因此,用户可以点击放在这个间隙上的一些对象。

有没有办法解决它?

我在这里看到了与警报弹出相同的问题: https://issues.apache.org/jira/browse/FLEX-27667 和这里 http://bugs.adobe.com/jira/browse/SDK-30613

但它似乎在一年前得到了解决。

当我打开警报窗口而不是弹出管理器模式窗口时,我遇到了同样的问题。

对于我的应用程序,我使用的是Flash Builder 4.6和sdk 4.5.1

任何建议都表示赞赏。

增加: 我已经想通了

FlexGlobals.topLevelApplication.stage.scaleMode = StageScaleMode.SHOW_ALL;

影响弹出窗口覆盖功能: 如果我对此行进行评论,那么Popup可以正常工作,但如果用户按下CTRL + mouseWheel以放大/缩小浏览器窗口中的内容,则swf-application不能正确缩放。所以,我的代码中需要StageScaleMode.SHOW_ALL

1 个答案:

答案 0 :(得分:0)