Flex:应用程序的维度

时间:2009-06-12 17:13:39

标签: flex dimensions

<?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.为什么?

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

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