0

AIRspark.components.WindowedApplicationは、ウィンドウの境界を手動で拡大したり、最大化/復元したりすると、コンテンツのサイズが自動的に変更されます。しかし、クラスは「箱から出して」そのような機能を提供しません。対応するインスタンスが境界spark.components.Windowのサイズを変更するときに、ウィンドウを拡大/最大化/復元しても、ウィンドウの内容はサイズを変更しません。spark.components.Window.nativeWindow私のAIRアプリケーションは、複数のウィンドウとサイズ変更可能なウィンドウを開く必要があります。どうすれば、nativeWindowの境界に一致するようにコンテンツのサイズを自動的に変更できますか?

4

2 に答える 2

1

あなたがを意味すると仮定するとspark.components.Window、これはスキナブルコンテナに基づいているので、パーセントベースのレイアウト/制約を使用することを妨げるものは何もないはずです。

<s:Window xmlns:fx="http://ns.adobe.com/mxml/2009" 
          xmlns:s="library://ns.adobe.com/flex/spark" 
          xmlns:mx="library://ns.adobe.com/flex/mx" 
          width="100%" height="100%">

この種のものを手動で処理する他の方法には、ステージからのResizeEventをリッスンすることが含まれます。

于 2012-05-29T22:02:30.277 に答える
0

解決策は、NativeWindowからのRESIZEイベントをリッスンしてから、手動で設定stageWidthstageHeight、Windowのstageインスタンスに設定することです。以下のコードを参照してください。

override public function open(openWindowActive:Boolean=true):void {
    super.open(openWindowActive);

    if (nativeWindow) {
        chromeWidth = nativeWindow.width - this.width;
        chromeHeight = nativeWindow.height - this.height;
        nativeWindow.addEventListener(NativeWindowBoundsEvent.RESIZE, onNativeResize);
    }
}

private function onNativeResize(event:NativeWindowBoundsEvent):void {
    stage.stageWidth = event.afterBounds.width - chromeWidth;
    stage.stageHeight = event.afterBounds.height - chromeHeight;
}
于 2012-08-06T15:55:11.847 に答える