我有一个专为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>
谢谢, 加布
答案 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)
最后我们发现最好的解决方案是手动设置缩放比例。因此,通过确定屏幕/视口的宽度并找出如何缩放到我们应用程序的大小,我们解决了这个问题。