新窗口/查看mxml flex

时间:2011-12-03 13:25:18

标签: flex mxml

我有如何将另一个mxml文件显示为应用程序的主视图

的以下问题

例如,假设我有main.mxml显示为主窗口。当我点击按钮时,我想显示另一个mxml文件,让我们说newMain.mxml并关闭main.mxml

1 个答案:

答案 0 :(得分:1)

是的,您可以在Adobe AIR中使用NativeWindow类来完成。

您可以创建本机窗口并激活它。 在将newMain.mxml激活到另一个本机窗口时,您可以将main.mxml设置为可见的假。

关闭newMain.mxml时,可以将main.mxml设置为可见true。

我正在提供一些示例Flex 4.5应用程序代码。

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
                       xmlns:s="library://ns.adobe.com/flex/spark" 
                       xmlns:mx="library://ns.adobe.com/flex/mx">
    <fx:Script>
        <![CDATA[

            private var n:NativeWindow;
            private var ni:NativeWindowInitOptions;

            protected function onBtnOpenClick(event:MouseEvent):void
            {
                ni = new NativeWindowInitOptions();
                ni.systemChrome = NativeWindowSystemChrome.STANDARD;
                ni.type = NativeWindowType.NORMAL;
                ni.transparent = false;
                ni.resizable = false;
                ni.minimizable = true;
                ni.maximizable = true;

                n = new NativeWindow(ni);
                n.title = "My Native Window";
                n.addEventListener(Event.CLOSING, onClosingWindowEvent);
                n.activate();

                nativeWindow.visible = false;
            }

            private function onClosingWindowEvent(event:Event):void
            {
                nativeWindow.visible = true;
            }
        ]]>
    </fx:Script>
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>

    <s:Button x="217" y="110" label="Open" click="onBtnOpenClick(event)"/>

</s:WindowedApplication>