2009-09-02 54 views
2

我有一个Flex应用程序,专为1280x800而设计,我想要在1920x1200显示器上全屏显示。如何将Flex Air应用程序安装到全屏幕?

我读过这篇文章: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> 

感谢, 加布

回答

0

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

5

你想要去全屏或只是将窗口最大化?你可以通过调用做后者:

this.nativeWindow.maximize(); 

而且做的事情在全屏模式下,你不应该需要所有的你有什么存在的休息。你只需要拨打

this.stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE; 

做你想做的事。这不行吗?当您调用该API时,屏幕会是什么样子?

=瑞恩

+0

我希望全屏和放大以适合。但正如我在我的问题中提到的那样,问题是只有一部分(左上角)像我链接的文章中提到的那样放大。 所以这是问题,它不会缩放所有,但只有左上500x375像素。 –

2

我也发现这个工程。

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

    } 
相关问题