我是个初学者。我使用Adobe Air Flash Builder开发了一个桌面应用程序。我使用的是WindowedApplication容器,它是Flex应用程序的入口点。
问题是:我有一个按钮,它的事件处理程序使用addElement和NavigatorContent属性将我重定向到一个新窗口。这是处理程序:
public function startstudy_clickHandler(event:MouseEvent):void
{
var dTracker:Study = new Study();
this.addElement(dTracker);
}
这是导航器内容代码:
<s:NavigatorContent width="100%" height="100%" label="PRACTICE" icon="@Embed(source='assets/image.png')" toolTip="PRACTICE" id="navprac">
实际情况是,当我被重定向到新窗口时,新窗口的尺寸与WindowedApplication的尺寸不同。事实上,无论我在单击按钮之前是否调整WindowedApplication的大小,新窗口每次都具有相同的精确尺寸。我需要新窗口的大小与调用(WindowedApplication)窗口的大小相同。
有办法绕过这个吗?如果不是,那么我如何从一开始就让所有窗口的大小相同,也就是说,禁用它们的大小调整并将所有窗口设置为屏幕的大小。
根据您上面的评论判断,Study
的类型为Window
,在这种情况下,当您调用new Study()
时,您正在创建一个新窗口。该窗口的高度和宽度与WindowedApplication
启动时创建的第一个窗口完全不同。
为了解决这个问题,你可以明确地声明这些属性:
var dTracker:Study = new Study();
dTracker.height = this.height;
dTracker.width = this.width;
dTracker.x = this.x;
dTracker.y = this.y;
或者,您可以将Study
从一个窗口更改为类似Group
或Panel
的窗口,然后将其添加到当前窗口,而不是创建一个新的