如何将Flex Air应用程序安装到全屏?

时间:2009-09-02 12:27:56

标签: flex air zoom

我有一个专为1280x800设计的Flex Air应用程序,我想在1920x1200显示器上全屏工作。

我读过这篇文章:http://blogs.adobe.com/aharui/2008/01/flex_and_scalemodes.html并尝试了它,但它只缩放左上角(如文章中所述)。

我使用WindowedApplication(如下所示),它包含一个View(称为MasterView),其中包含所有不同的布局元素。

有什么建议吗?

我的申请(简而言之)如下:

<mx:WindowedApplication 
    xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="absolute"
    width="100%" height="100%"
    horizontalScrollPolicy="off"
    verticalScrollPolicy="off"
    clipContent="false" 
    windowComplete="goFullscreen()" 
    >

private function goFullscreen():void
{                                   
    Mouse.hide();       

    this.stage.scaleMode = StageScaleMode.EXACT_FIT;
    this.stage.align = StageAlign.TOP_LEFT;
    this.stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;

    try
    {   
        showStatusBar = false;
        removeChild(statusBar);
    }
    catch (err:Error)
    { }

    root.stage.addEventListener(KeyboardEvent.KEY_DOWN, switchFullScreen)               
}

</mx:WindowedApplication>

谢谢, 加布

3 个答案:

答案 0 :(得分:5)

您想要全屏显示还是只是最大化窗口?你可以通过调用:

来完成后者
this.nativeWindow.maximize();

在全屏模式下做一些事情,你不应该需要你所拥有的所有其他东西。你应该只需要打电话

  this.stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;

做你想做的事。这不起作用吗?调用该API时屏幕看起来像什么?

=瑞恩

答案 1 :(得分:2)

我也发现这很有效。

public function goFullScreen($fullScreen:Boolean){
        if($fullScreen){
            myStage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
            myStage.scaleMode = StageScaleMode.EXACT_FIT;               
        } else {
            myStage.displayState = StageDisplayState.NORMAL;
        }

    }

答案 2 :(得分:0)

最后我们发现最好的解决方案是手动设置缩放比例。因此,通过确定屏幕/视口的宽度并找出如何缩放到我们应用程序的大小,我们解决了这个问题。