0


0

実行時にflexアプリケーションのサイズが変更されるのを防ぐことはできますか?

私が収集できることから、Flexアプリケーションのサイズ変更プロパティはXML構成ファイルで設定されます。


ただし、この属性をtrueに設定した場合、実行時にこれを動的にオフにする方法はありますか? たとえば、私のアプリケーションには、ミニとマキシの2つの表示モードがあります。 ミニモードのときにエンドユーザーがアプリケーションのサイズを変更できないようにします。 次のコードを使用してサイズ変更を防止しようとしましたが、機能していないようです:

private function creationComplete():void {
    this.systemManager.stage.addEventListener(Event.RESIZE, resizeListener);
}

private function resizeListener(evt:Event):void {
    evt.preventDefault();
}

任意の助けは大歓迎です。

5 Answer


4


記述子ファイルのプロパティを設定せずにこれを行う別の方法があります。

これがコードです:

        import mx.events.FlexNativeWindowBoundsEvent;

        private function init():void
        {
            this.stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
            nativeWindow.addEventListener(NativeWindowBoundsEvent.RESIZING, onAppResize);
        }

        private function onAppResize(e:NativeWindowBoundsEvent):void
        {
                e.preventDefault();
        }

お役に立てれば。


1


新しいNativeWindowインスタンスを作成し、アプリケーションの親を変更する必要があります。 新しいNativeWindowを作成する場合、サイズ変更を含む初期化時に設定できるオプションがあります。 http://help.adobe.com/en_US/FlashPlatform//reference/actionscript/3/flash/display/NativeWindowInitOptions.html


0


manualによると、 `resizable`は読み取り専用プロパティです。 そのため、おそらく不可能です。


0


これはすでに壊されていたので、興味がありました:

次のコードを使用して、サイズ変更可能から非サイズ変更への切り替えを実装できました。

private var maxMode:Boolean = true;

protected function switchMode():void
{
    if (maxMode){
        //I chose to freeze the app at current size
        //You could also set the min/max to hard coded values
        this.maxWidth = this.width;
        this.minWidth = this.width;
        this.maxHeight = this.height;
        this.minHeight = this.height;
    }
    else {
        //default values for WindowedApplication
        this.maxWidth = 2880;
        this.minWidth = 0;
        this.maxHeight = 2880;
        this.minHeight = 0;
    }

    maxMode= !maxMode
}

ただし、ユーザーにはアプリの端にマウスのサイズ変更アイコンが表示されたままです。


-1


リターンを追加してみてください:

evt.preventDefault();
return;