2014-11-01 126 views
0

我是初学者。我使用Adobe Air Flash Builder开发了一个桌面应用程序。我正在使用一个WindowedApplication容器作为Flex应用程序的入口点。Adob​​e Air:WindowedApplication

问题: 我有一个按钮,其事件处理程序使用addElement和NavigatorContent属性将我重定向到新窗口。这里的处理程序:

 public function startstudy_clickHandler(event:MouseEvent):void 
     { 
      var dTracker:Study = new Study(); 
      this.addElement(dTracker); 
     } 

这里的NavigatorContent代码:

 <s:NavigatorContent width="100%" height="100%" label="PRACTICE" icon="@Embed(source='assets/image.png')" toolTip="PRACTICE" id="navprac"> 

发生了什么事是,当我重定向到新窗口,新窗口的尺寸是不相同的WindowedApplication的。事实上,无论我在单击按钮之前调整WindowedApplication的大小,新窗口每次都有相同的确切尺寸。我需要新窗口与调用(WindowedApplication)窗口的大小相同。

有没有办法解决这个问题?如果没有,那么我怎样才能使所有窗口从一开始就是相同的大小,即禁用其大小调整并将所有窗口设置为屏幕大小。

+0

你需要显示一些代码,什么类型是“this”并显示一些关于Study类的代码,你可以尝试设置minWidth = maxWidth = width = myvalue;高度相同 – simion314 2014-11-01 10:25:08

+0

“this”是使用addElement函数调用“Study”窗口的当前窗口(也是应用程序的输入窗口)。代码非常大,所以我不知道应该分享哪个代码段。请你能指定你想要的代码(功能)吗?谢谢 – 2014-11-01 19:25:55

回答

2

根据以上评论判断,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; 

或者你可以从一个窗口,像GroupPanel,这将然后将其添加到当前的窗口,而不是创造变化的Study一个新的