不知道我的标题是否准确地描述了我正在尝试做的事情,但基本上我已经创建了一个新的NativeWindow,如下所示(使用Adobe NativeWindow documentation http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/NativeWindow.html?filter_flex=4.1&filter_flashplayer=10.1&filter_air=2#minSize中的一个示例):
var windowOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
windowOptions.systemChrome = NativeWindowSystemChrome.STANDARD;
windowOptions.type = NativeWindowType.NORMAL;
var newWindow:NativeWindow = new NativeWindow(windowOptions);
newWindow.stage.scaleMode = StageScaleMode.NO_SCALE;
newWindow.stage.align = StageAlign.TOP_LEFT;
newWindow.bounds = new Rectangle(100, 100, 800, 800);
newWindow.activate();但是,现在我有了新窗口,我想关闭旧窗口,并使新窗口成为活动的NativeApplication,基本上将所有控制转移到新窗口。你知道怎么做吗?非常感谢大家的帮助。
编辑:
对于任何感兴趣的人,感谢提供的答案,这是我现在做的。只需使用以下命令创建一个mxml文件
<?xml version="1.0" encoding="utf-8"?>
<mx:Window
xmlns:mx="http://www.adobe.com/2006/mxml"
...
>调用此MyWindow.mxml或其他名称,然后在主控制器中使用以下命令创建此实例
private var myWindow:MyWindow = new MyWindow. 然后,您可以相应地设置高度、宽度、最小化和最大化属性,如myWindow.width = 400。要打开窗口,您可以执行window.open(true)或window.visible = false;window.open(true) -后者使窗口不可见,但可以使用。
发布于 2010-09-16 00:06:39
Jeff在他的评论中基本上得到了答案,但他比我有更多的因果报应,所以我将评论作为答案;)
如果您查看您的AIR -app.xml文件,它包含一些元素,用于判断应用程序最初是否可见等。
你想做的是让它一开始就不可见。事实上,你根本不想让它有任何可见的存在。它所做的就是按照你想要的方式生成一个Native Window,如果你需要改变属性,拆卸它并用一个新的替换它。
从表面上看,我看起来很简单,但我肯定会有一些额外的复杂情况。例如,每个NativeWindow都有自己的阶段(IIRC),因此您可能无法正确地移动resourceManager。我只做了一个简单的演示,所以你可能会遇到一个无法克服的限制(正如Jeff的直觉告诉他的那样)
https://stackoverflow.com/questions/3718297
复制相似问题