2

1280x800用に設計されたFlexのAirアプリケーションがあり、1920x1200モニターでフルスクリーンで動作するようにストレッチしたいと思います。

私はこの記事を読みました:http://blogs.adobe.com/aharui/2008/01/flex_and_scalemodes.html試してみましたが、左上隅をズームするだけです(記事に記載されているように)。

私は、すべての異なるレイアウト要素を含むビュー(MasterViewと呼ばれる)を保持するWindowedApplication(以下に表示)を使用しています。

助言がありますか?

私のアプリケーション(簡単に言えば)は次のようになります:

<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>

ありがとう、Gab

4

3 に答える 3

5

全画面表示にしますか、それともウィンドウを最大化しますか?後者は、次のように呼び出すことで実行できます。

this.nativeWindow.maximize();

そして、フルスクリーンモードで何かをすることで、そこにある残りのすべてを必要とすべきではありません。あなたはただ電話する必要があります

  this.stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;

あなたがやりたいことをするために。それは機能していませんか?そのAPIを呼び出すと、画面はどのようになりますか?

=ライアン

于 2009-09-02T18:03:55.227 に答える
2

また、これが機能することもわかりました。

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

    }
于 2011-02-04T17:10:10.403 に答える
0

最後に、最適な解決策は手動でスケーリング比を設定することであることがわかりました。そのため、画面/ビューポートの幅を決定し、それがアプリケーションのサイズにどのように対応するかを調べることで、この問題を解決しました。

于 2009-09-17T06:37:38.407 に答える