在我的 AIR 应用程序中,当用户创建一个新项目时,我希望出现一个弹出框,他们可以在其中输入他们的项目名称。我知道通过制作我自己的弹出框类型是如何做到的,但是那里一种使用 NativeWindows 的方法?也就是说,我可以使用系统镶边制作一个包含文本字段和按钮的窗口吗?
我在 FlashDevelop 中使用 Flex 4 和 AIR 2.7。
在我的 AIR 应用程序中,当用户创建一个新项目时,我希望出现一个弹出框,他们可以在其中输入他们的项目名称。我知道通过制作我自己的弹出框类型是如何做到的,但是那里一种使用 NativeWindows 的方法?也就是说,我可以使用系统镶边制作一个包含文本字段和按钮的窗口吗?
我在 FlashDevelop 中使用 Flex 4 和 AIR 2.7。
是的你可以。创建新的 NativeWindow 时,您可以在其阶段添加和删除子级。因此,您可以将您的类/组件添加到新窗口并监听它们的事件。
// create NativeWindowInitOptions
var windowInitOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
windowInitOptions.type = NativeWindowType.NORMAL;
windowInitOptions.minimizable = true;
windowInitOptions.resizable = false;
windowInitOptions.maximizable = false;
windowInitOptions.systemChrome = NativeWindowSystemChrome.STANDARD;
windowInitOptions.transparent = false;
// create new NativeWindow
var newWindow:NativeWindow = new NativeWindow(windowInitOptions);
// create your class
var popupBox:Sprite = new Sprite();
// resize
newWindow.width = popupBox.width;
newWindow.height = popupBox.height;
// add
newWindow.stage.addChild(popupBox);
// configure
popupBox.addEventListener(YourCustomEvent.CONFIRM, onPopupConfirm);
// for a popup it might be nice to have it activated and on top
newWindow.alwaysInFront = true;
newWindow.activate();
在 onPopupConfirm 函数中,您可以关闭窗口并清理引用。(NativeWindow 上的 Event.CLOSING,可以方便地捕捉 alt+F4 关闭等)