我正在设计一个使用Adobe Flash CS6的桌面应用程序,使用air 3.2 for desktop(在闪存目标设置中)。在空中设置中,有一个高级选项卡,可以设置应用程序窗口位置的初始值。我不知道应该如何将它设置在屏幕中间。
这是截图:
答案 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>