Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Air 自动调整新空气窗口内容的大小_Air_Window_Adobe_Autoresize - Fatal编程技术网

Air 自动调整新空气窗口内容的大小

Air 自动调整新空气窗口内容的大小,air,window,adobe,autoresize,Air,Window,Adobe,Autoresize,AIR的spark.components.WindowedApplication将在我手动拉伸窗口边界或最大化/恢复窗口时自动调整其内容大小。但是spark.components.Window类不提供这种“开箱即用”的功能:当相应的spark.components.Window.nativeWindow实例调整其边界时,当我拉伸/最大化/还原窗口时,窗口的内容不会更改其大小。我的AIR应用程序需要打开多个窗口和可调整大小的窗口。如何使它们自动调整其内容大小以匹配nativeWindow边界?假设

AIR的
spark.components.WindowedApplication
将在我手动拉伸窗口边界或最大化/恢复窗口时自动调整其内容大小。但是
spark.components.Window
类不提供这种“开箱即用”的功能:当相应的
spark.components.Window.nativeWindow
实例调整其边界时,当我拉伸/最大化/还原窗口时,窗口的内容不会更改其大小。我的AIR应用程序需要打开多个窗口和可调整大小的窗口。如何使它们自动调整其内容大小以匹配nativeWindow边界?

假设您指的是
spark.components.Window
,这是基于skinnablecontainer的,因此不应该有任何东西阻止您使用基于百分比的布局/约束



手动处理此类事件的其他方法包括侦听来自后台的ResizeEvent。

解决方案是侦听来自NativeWindow的RESIZE事件,然后在Window的
后台实例上手动设置
后台宽度
后台高度
。请参阅下面的代码

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

不幸的是,基于百分比的宽度和高度不能像我们所期望的那样与spark.components.Window一起工作-只是什么都没有发生。将Event.RESIZE的EventListener添加到
stage
可以很好地调整窗口大小。当我试图缩小窗口时,它会猛拉,但不会调整大小。我的侦听器代码是:
private function onStageResize(event:event):void{width=stage.width;height=stage.height;}
谢谢你,Mike,现在我找到了侦听调整大小事件的正确方法。