Adobe Air - Flash - 初始窗口位置

时间:2013-01-31 20:35:11

标签: flash air window-position

我正在设计一个使用Adobe Flash CS6的桌面应用程序,使用air 3.2 for desktop(在闪存目标设置中)。在空中设置中,有一个高级选项卡,可以设置应用程序窗口位置的初始值。我不知道应该如何将它设置在屏幕中间。

这是截图:

enter image description here

4 个答案:

答案 0 :(得分:5)

不要使用这些属性,只需在您的应用中添加代码:

stage.nativeWindow.x = (Capabilities.screenResolutionX - this.width)*0.5;
stage.nativeWindow.y = (Capabilities.screenResolutionY - this.height)*0.5;

答案 1 :(得分:0)

对于基于HTML / JS的AIR项目,您可以使用:

window.moveTo(Math.round((window.screen.availWidth - window.outerWidth) / 2), Math.round((window.screen.availHeight - window.outerHeight) / 2));

答案 2 :(得分:0)

var screenBounds:Rectangle = Screen.mainScreen.bounds;
stage.nativeWindow.x = (screenBounds.width - stage.nativeWindow.width) / 2;
stage.nativeWindow.y = (screenBounds.height - stage.nativeWindow.height) / 2;

为我工作

答案 3 :(得分:0)

如果您使用FlashBuilder或WindowedApplication的MXML文件,则可以在初始化处理程序中以这种方式进行操作。这使用从nativeWindow的边界读取的应用程序的初始尺寸(在application.xml文件中定义)。 [MXML文件内容]

<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"
                       xmlns:local="*"                     
                       initialize="windowedapplication1_initializeHandler(event)"
                       >
<fx:Script>
        <![CDATA[
            protected function windowedapplication1_initializeHandler(event:FlexEvent):void
            {
                var w:int = Capabilities.screenResolutionX;
                var h:int = Capabilities.screenResolutionY;
                nativeWindow.x = (w - nativeWindow.bounds.width)*0.5;
                nativeWindow.y = (h - nativeWindow.bounds.height)*0.5;
            }

]]>
</fx:Script>
</s:WindowedApplication>