Flex:在浏览器窗口上重新调整PopUp的大小

时间:2012-10-16 23:20:53

标签: flex actionscript popup

我的页脚有一堆标签,每个标签打开一个弹出窗口。但是有一个小故障,一旦弹出窗口打开,如果我调整浏览器的大小,那么我的弹出窗口不会自动调整大小以匹配新的窗口配置。实质上,弹出窗口的尺寸是静态的而不是动态的。

我想删除这个故障,但我不确定如何实现这一目标。这就是我配置弹出窗口的尺寸的方法。

var stagePt:Point = new Point();
popup.x = 80;
popup.y = stagePt.y-(footerPopupContainer.height+15);
popup.drawPointerPopup(stagePt,popup);

实现此目的的一种方法是在调整浏览器窗口大小时使用新维度重绘弹出窗口。本质上,resize事件将为上面的弹出窗口设置x和y属性(即如果它已经打开),然后调用drawPointerPopup方法。但这不是一个流畅的方法。

如果以上不是弹出窗口,只是在单击相应的页脚选项卡时触发或关闭其可见性的div,则不会出现此问题。但我认为这是因为弹出窗口本质上是一个新的浏览器窗口(绝对是HTML,不确定Flex)。我当然不能用div替换它,因为我正在处理遗留代码。

无论如何,我必须得到一个解决方案。任何线索都非常感激:)

1 个答案:

答案 0 :(得分:1)

我会选择事件选项。

为视图的resize事件添加事件侦听器。在处理程序中,在弹出窗口上触发事件以调整其大小,或者从将其添加到舞台的类中调整大小。

这是我应该想到的最明智的做法。