如何获取基于浏览器 Height/Width 的应用程序 Width/Height
How do I get the Application Width/Height based on Browser Height/Width
我正在尝试动态更改组件在我的应用程序中的位置。每次用户更改 his/her 浏览器 window 的大小时,有没有一种方法可以调用调整大小的事件监听器?
对,把BrowserResizeHandler作为珠子添加到应用程序中,在initialView上监听'sizeChanged'
类似于这个伪代码(未测试):
<js:Application applicationComplete="{myView.addEventListener("sizeChanged", sizeChangedHandler)}>
<js:beads>
<js:BrowserResizeHandler/>
</js:beads>
<initialView>
<MyView id="myView/>
</initialView>
</js:Application>
我不确定如何让珠子发挥作用。找不到正确的问题。但是,我使用以下方法来调用调整大小:
<js:Application applicationComplete="initiateApplication(event)">
<fx:Script>
<![CDATA[
protected function initiateApplication(event:Event):void{
window.addEventListener("resize", resizeApp);
}
protected function resizeApp():void{
trace(this.height=document.documentElement.clientHeight)
trace(this.width=document.documentElement.clientWidth)
}
]]>
</fx:Script>
</js:Application>
如果有人用过其他方法,请分享。
扩展 https://whosebug.com/users/11577184/yishayw 的答案:
当应用程序改变大小时,BrowserResizeHandler 珠子从视图中调度一个 sizeChanged
事件,所以这样的事情应该有所帮助:
<js:Application applicationComplete="onComplete()">
<fx:Script>
<![CDATA[
protected function onComplete():void{
myView.addEventListener("sizeChanged", handleResize);
}
protected function handleResize():void{
// do something with the new size...
trace(this.height)
trace(this.width)
}
]]>
</fx:Script>
<js:beads>
<js:BrowserResizeHandler/>
</js:beads>
<initialView>
<MyView id="myView/>
</initialView>
</js:Application>
如果您的视图位于单独的 MXML 文件中,则处理调整大小的代码将位于此处,而不是主应用程序 mxml 文件。
我建议检查各种风格的 Flex 布局珠子,因为我发现调整大小处理程序几乎没有必要。
我正在尝试动态更改组件在我的应用程序中的位置。每次用户更改 his/her 浏览器 window 的大小时,有没有一种方法可以调用调整大小的事件监听器?
对,把BrowserResizeHandler作为珠子添加到应用程序中,在initialView上监听'sizeChanged'
类似于这个伪代码(未测试):
<js:Application applicationComplete="{myView.addEventListener("sizeChanged", sizeChangedHandler)}>
<js:beads>
<js:BrowserResizeHandler/>
</js:beads>
<initialView>
<MyView id="myView/>
</initialView>
</js:Application>
我不确定如何让珠子发挥作用。找不到正确的问题。但是,我使用以下方法来调用调整大小:
<js:Application applicationComplete="initiateApplication(event)">
<fx:Script>
<![CDATA[
protected function initiateApplication(event:Event):void{
window.addEventListener("resize", resizeApp);
}
protected function resizeApp():void{
trace(this.height=document.documentElement.clientHeight)
trace(this.width=document.documentElement.clientWidth)
}
]]>
</fx:Script>
</js:Application>
如果有人用过其他方法,请分享。
扩展 https://whosebug.com/users/11577184/yishayw 的答案:
当应用程序改变大小时,BrowserResizeHandler 珠子从视图中调度一个 sizeChanged
事件,所以这样的事情应该有所帮助:
<js:Application applicationComplete="onComplete()">
<fx:Script>
<![CDATA[
protected function onComplete():void{
myView.addEventListener("sizeChanged", handleResize);
}
protected function handleResize():void{
// do something with the new size...
trace(this.height)
trace(this.width)
}
]]>
</fx:Script>
<js:beads>
<js:BrowserResizeHandler/>
</js:beads>
<initialView>
<MyView id="myView/>
</initialView>
</js:Application>
如果您的视图位于单独的 MXML 文件中,则处理调整大小的代码将位于此处,而不是主应用程序 mxml 文件。
我建议检查各种风格的 Flex 布局珠子,因为我发现调整大小处理程序几乎没有必要。