Максимизация AIR WindowedApplication и изменение размера связующего компонента - PullRequest
0 голосов
/ 03 сентября 2011

Я пытаюсь создать приложение AIR, которое вы можете развернуть, и при развертывании все компоненты, содержащиеся в windowedApplication, масштабируются с учетом windowedApplication.

В тот момент, когда вы максимизируете окно, все компоненты останутся одинакового размера. Это вообще возможно?

<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:ATE="http://ns.adobe.com/ate/2009"
                       xmlns:ai="http://ns.adobe.com/ai/2009"
                       xmlns:fc="http://ns.adobe.com/flashcatalyst/2009"
                       xmlns:d="http://ns.adobe.com/fxg/2008/dt"
                       xmlns:fx="http://ns.adobe.com/mxml/2009"
                       xmlns:s="library://ns.adobe.com/flex/spark"
                       xmlns:mx="library://ns.adobe.com/flex/mx"
                       xmlns:lib="assets.graphics.UI.*"
                       xmlns:flm="http://ns.adobe.com/flame/2008"
                       xmlns:lib2="assets.graphics.*"
                       xmlns:components="components.*"
                       xmlns:lib3="assets.graphics.logout.*"
                       xmlns:lib4="assets.graphics.logo.*"
                       xmlns:sparkTree="com.sparkTree.*"
                       xmlns:testsubmitassessmentscore2="services.testsubmitassessmentscore2.*"
                       minWidth="800" minHeight="600" backgroundColor="#FFFFFF"
                       creationComplete="creationCompleteHandler()" showStatusBar="false"
                       currentState="{model.whichViewState}" currentStateChange="onStateChange()"
                       preloaderChromeColor="#FFFFFF" title="MyApplication">
    <!--<fx:Style source="Main.css">-->
    <!--minWidth="800" minHeight="600"-->
    <fx:Style>

1 Ответ

0 голосов
/ 05 сентября 2011

Вы можете прослушивать событие resize, отправляемое любым UIComponent:

<?xml version="1.0" encoding="utf-8"?>
<s:Group
    xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:mx="library://ns.adobe.com/flex/mx"
    width="100%" height="100%"
    resize="onResize(event)"
    >
    <fx:Script>
        <![CDATA[
        import mx.events.ResizeEvent;

        private function onResize(event:ResizeEvent):void
        {
            // code goes here : resize your components and stuff...
        }
        ]]>
    </fx:Script>
</s:Group>

Будьте осторожны, потому что этот вид трюка может вызвать бесконечный цикл: вы слушаете событие resize, затем изменяете размер компонентаэто вызывает отправку другого события resizeevent, и цикл возвращается с самого начала ...

...