Skip to main content
Inspiring
December 20, 2011
Answered

StageOrientationEvent.ORIENTATION_CHANGE not Dispatching

  • December 20, 2011
  • 4 replies
  • 2597 views

Hi!

why in my Mobile Application is not dispatching the StageOrientationEvent event?

What's wrong?

I set in my project "Automatically reorient".

This is my view:

<?xml version="1.0" encoding="utf-8"?>

<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"

        xmlns:s="library://ns.adobe.com/flex/spark" title="HomeView" creationComplete="view1_creationCompleteHandler(event)">

    <fx:Script>

        <![CDATA[

            import mx.events.*;

            import mx.events.StateChangeEvent;

            import mx.states.AddChild;

           

            protected function view1_creationCompleteHandler(event:FlexEvent):void{

                addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, changeOrientationListener)

            }

            protected function changeOrientationListener(event:Event):void{

                trace(event)

            }

        ]]>

    </fx:Script>   

</s:View>

thanks

This topic has been closed for replies.
Correct answer MatteoLegittimo

Solved:

<?xml version="1.0" encoding="utf-8"?>

<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"

        xmlns:s="library://ns.adobe.com/flex/spark" title="HomeView" creationComplete="view1_creationCompleteHandler(event)">

    <fx:Script>

        <![CDATA[

            import mx.events.*;

           

            protected function view1_creationCompleteHandler(event:FlexEvent):void{

                addEventListener(Event.ADDED_TO_STAGE, _onAddedToStage)

            }

           

           

            private function _onAddedToStage(event:Event):void{

                if(stage.autoOrients)       

                    stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, _onStage_OrientationChange);

            }

           

            private function _onStage_OrientationChange(event:StageOrientationEvent):void{

               

                switch(event.afterOrientation){

                   

                    case StageOrientation.DEFAULT:

                        trace('DEFAULT')

                        break;

                   

                    case StageOrientation.ROTATED_RIGHT:

                        trace('ROTATED_RIGHT')

                        break;

                   

                    case StageOrientation.ROTATED_LEFT:

                        trace('ROTATED_LEFT')

                        break;

                   

                    case StageOrientation.UPSIDE_DOWN:

                        trace('UPSIDE_DOWN')

                        break;

                   

                    case StageOrientation.UNKNOWN:

                        trace('UNKNOWN')

                        break;

                }

            }

        ]]>

    </fx:Script>   

</s:View>

4 replies

MatteoLegittimoAuthorCorrect answer
Inspiring
December 20, 2011

Solved:

<?xml version="1.0" encoding="utf-8"?>

<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"

        xmlns:s="library://ns.adobe.com/flex/spark" title="HomeView" creationComplete="view1_creationCompleteHandler(event)">

    <fx:Script>

        <![CDATA[

            import mx.events.*;

           

            protected function view1_creationCompleteHandler(event:FlexEvent):void{

                addEventListener(Event.ADDED_TO_STAGE, _onAddedToStage)

            }

           

           

            private function _onAddedToStage(event:Event):void{

                if(stage.autoOrients)       

                    stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, _onStage_OrientationChange);

            }

           

            private function _onStage_OrientationChange(event:StageOrientationEvent):void{

               

                switch(event.afterOrientation){

                   

                    case StageOrientation.DEFAULT:

                        trace('DEFAULT')

                        break;

                   

                    case StageOrientation.ROTATED_RIGHT:

                        trace('ROTATED_RIGHT')

                        break;

                   

                    case StageOrientation.ROTATED_LEFT:

                        trace('ROTATED_LEFT')

                        break;

                   

                    case StageOrientation.UPSIDE_DOWN:

                        trace('UPSIDE_DOWN')

                        break;

                   

                    case StageOrientation.UNKNOWN:

                        trace('UNKNOWN')

                        break;

                }

            }

        ]]>

    </fx:Script>   

</s:View>

Participant
February 8, 2012

This code works for me, but not if i pushed a view first. And i put the code the the "pushedView" it doesnt work. What could solve the problem?

Participant
March 28, 2012

Thank you very much