Apache flex Flex:应用程序的维度

Apache flex Flex:应用程序的维度,apache-flex,dimensions,Apache Flex,Dimensions,我正在分辨率为800x600的监视器上运行上述代码。所以,我想 弹出的警报将显示宽度为800。但它显示了宽度 到500岁。为什么?属性width=“100%”不起任何作用,因为它是一个AIR应用程序,并且它的默认状态并不总是最大化(至少在我的Mac OS上)。当您最小化、最大化或还原窗口时,下面的代码段会自动最大化应用程序并跟踪其边界和当前状态 <?xml version="1.0" encoding="utf-8"?> <mx:WindowedApplication xmln

我正在分辨率为800x600的监视器上运行上述代码。所以,我想 弹出的警报将显示宽度为800。但它显示了宽度 到500岁。为什么?

属性width=“100%”不起任何作用,因为它是一个AIR应用程序,并且它的默认状态并不总是最大化(至少在我的Mac OS上)。当您最小化、最大化或还原窗口时,下面的代码段会自动最大化应用程序并跟踪其边界和当前状态

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init1()" width="100%">
<mx:Script>
        <![CDATA[
            import mx.controls.Alert;
            public function init1():void
            {
                Alert.show(this.width.toString());
            }
        ]]>
    </mx:Script>
</mx:WindowedApplication>


您还可以使用
功能。screenResolutionX
功能。screenResolutionY
来确定屏幕大小。

可能太明显了,但要确定的是:您的应用程序窗口是否最大化了?它是否占据了整个800x600屏幕?虽然它几乎占据了整个屏幕,但它并没有最大化。调用maximize后,它返回800。但如果我能相信我的眼睛,那肯定不是500年前。可能是它拾取了一些默认设置,并且在applicationcomplete事件之前未正确设置。
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication  
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    layout="absolute"
    creationComplete="maximize()"
    displayStateChange="onDisplayStateChange(event)">

    <mx:Script>
        <![CDATA[
            import mx.controls.Alert;

            public function onDisplayStateChange(event:NativeWindowDisplayStateEvent):void {
            Alert.show(event.afterDisplayState + ' ' + bounds.toString());
            }
        ]]>
    </mx:Script>
</mx:WindowedApplication>