0
<?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>

我在分辨率为 800x600 的显示器上运行上述代码。所以,我希望弹出的警报将显示宽度为 800。但它显示宽度为 500。为什么?

4

2 回答 2

0

属性 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="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>
于 2009-06-13T03:33:15.503 回答
0

您还可以使用 Capabilities.screenResolutionXcapabilities.screenResolutionY找出屏幕尺寸。

于 2009-06-13T06:56:02.973 回答