Flex: размеры приложения - PullRequest
0 голосов
/ 12 июня 2009
<?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 голосов
/ 13 июня 2009

Вы также можете использовать Capabilities.screenResolutionX и capabilities.screenResolutionY, чтобы узнать размер экрана.

0 голосов
/ 13 июня 2009

Свойство 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>
...