Проблема при изменении размера с помощью Apache Royale SDK 0.9.6 - PullRequest
0 голосов
/ 23 октября 2019

Как обрабатывать событие изменения размера родительского контейнера или, по крайней мере, событие изменения размера браузера?

Я пытаюсь использовать этот код, но handleResize никогда не вызывается:

package 
{
    //import org.apache.royale.html.Group;
    import org.apache.royale.jewel.Group;
    import org.apache.royale.core.BrowserResizeListener;

    public class Slideshow extends Group
    {
            public function Slideshow(){
                super();

                this.addBead(new BrowserResizeListener());
                this.addEventListener("sizeChanged",handleResize);
            }

            protected function handleResize():void{
                // this is never called
                trace(this.height)
                trace(this.width)
            }
    }
}

Спасибо за любую помощь

1 Ответ

1 голос
/ 28 октября 2019

Вот пример прослушивания изменения размера окна:

<?xml version="1.0" encoding="utf-8"?>
<js:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                applicationComplete="applicationCompleteHandler()"
                xmlns:js="library://ns.apache.org/royale/basic"
                >
                <fx:Script>
                    <![CDATA[
                        import org.apache.royale.html.SimpleAlert;

                        private function applicationCompleteHandler():void
                        {
                            myInitialView.addEventListener("sizeChanged", sizeChangedHandler)
                        }

                        private function sizeChangedHandler(event:Event):void
                        {
                            SimpleAlert.show("Application size is: " + this.width + " " + this.height, this);
                        }
                    ]]>
                </fx:Script>
    <js:beads>
        <js:BrowserResizeHandler/>
    </js:beads>

    <js:valuesImpl>
        <js:SimpleCSSValuesImpl />
    </js:valuesImpl>    

    <js:initialView>
        <js:View id="myInitialView" width="100%" height="100%">
            <js:Label text="Hello World"/>  
        </js:View>
    </js:initialView>
</js:Application>
...