Resize vs. orientation change [Flex Mobile]

Hello,
The stage resize and orientation change events are "the same thing"?
I have a SkinnablePopUp that I need to reposition when the orientation changes and I am listening for the resize event on the view.
Should I be listening to the orientation change event instead?
Thank you.

Since pop-ups are parented to the systemManager, you should listen to resize events there instead. e.g.
systemManager.addEventListener(Event.RESIZE, systemManager_resizeHandler);
private function systemManager_resizeHandler(event:Event):void {
  // re-center pop-up
  PopUpManager.centerPopUp(popUp);
Jason San Jose
Software Engineer, Flex

Similar Messages

  • Flex mobile orientation: force portrait mode and then allow auto orientation

    I'm creating a flex mobile project and I want to force the app to portrait orientation when I click a button, and when I click other button allow again to change the orientation.
    This is my code when I click the first button, where I want to force portrait mode:
    protected function click(event:MouseEvent):void{      if(stage.orientation != StageOrientation.DEFAULT){           stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, orientationChanged);           stage.setOrientation(StageOrientation.DEFAULT);      }else{           doSomething();      }  }  
    private function orientationChanged(event:StageOrientationEvent):void{      doSomething();      stage.removeEventListener(StageOrientationEvent.ORIENTATION_CHANGE, orientationChanged); } 
    private function doSomething():void{      stage.autoOrients = false; }
    It works ok and it changes the orientation if it's needed.
    Now, when I want to allow orientation change again, I've only putted:
    stage.autoOrients = true;
    It works ok if when I click the first button the app is in portrait and it doesn't have to change anything. But if it's on landscape and it have to change to portrait, when I allow orientation change again, it doesn't work ok.
    Do you know if I have to allow or change something? Or, is there any better way to do this?
    Thanks in advance

    Thanks for your answer. It works, but I have the same problem that I have setting the orientation. If I'm on landscape, it changes to Portrait ok, but when I want to allow auto orientation again, it doesn't work well.
    A little tricky I've found is:
    When I want to force to portrait:
    private var oldOrientation:String = null;
    protected function click(event:MouseEvent):void{
       if(stage.orientation != StageOrientation.DEFAULT){
                oldOrientation = stage.orientation;
                stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, orientationChanged);
                stage.setOrientation(StageOrientation.DEFAULT);
       }else{
                doSomething();
    private function orientationChanged(event:StageOrientationEvent):void{
                // do something if you are changing to portrait mode (the first change) and other thing if you are changing to old orientation
    And when I want to allow auto orientation again:
    if(oldOrientation != null){
            stage.setOrientation(oldOrientation);
            oldOrientation = null;             

  • Can't convert Flex Mobile project to desktop project

    I'm using the Flash Builder 4.6 trial, and I'm very new to flex development. I've been asked to convert an existing Flex Mobile project (appears to have been developed in Flash Builder 4.5) into an AIR desktop app.
    The project imported without complaint. However, the Add/Change Project Type > Convert to Flex Desktop Project menu item is disabled.
    I created a blank Flex Mobile project, then a blank Flex web project, then a blank ActionScript project. It's greyed out for those, too. I checked with the projects closed and open; the rest of the items on that submenu are enabled for all projects when closed.
    Is this feature disabled in the trial version?  Is something else going on?

    Clearly the device from verizon works, I would try to contact a computer tech to repair your computer
    Really it should be as simple as turn on, connect, go. If it isn't there is a break down somewhere in that computer
    What error msg?

  • Flex Mobile project scaling with Retina display iPad (3rd gen).

    Adobe et al,
    With the new iPad 3 we now have a ton more pixels to utilize. I'm familiar with and have already successfully tested the AIR 3.1+ commandline compiler option (-platformsdk) to get Retina display on the new iPad. In ActionScript mobile projects the content is rendered beautifully on the new iPad. But with Flex Mobile projects, something is happening that causes it to render incorrectly. It's retina display alright, but the size is way too small.
    Below is an image WITHOUT the -platformsdk build tag, that causes the app to be pixel doubled to fit on the new iPad:
    Notice that it's scaled proportionally, even though the text and components are slightly pixelated. Not a big deal, but noticeable on the device.
    This image is taken with the app rendering in Retina display (setting the -platformsdk pointing to iOS 5.1 SDK):
    As you can see, the text/components are rendered really clear, but the scale is way off. Obviously it's getting the width of 2048x1536 from the device, but it's way too small.
    How do I fix this? I've tried changing the applicationDPI, but it doesn't fix it. Setting a width/height of 1024x768 does nothing either. It seems we need to overrride a behavior that causes it to fit everything in so small.
    A little help?
    Thanks,
    iBrent

    Alright, kevinkorngut's answer was the right one. It appears that even though AIR 3.x can render high resolution apps, it still returns the incorrect DPI for the new iPad. In a Flex Mobile project you have to override the DPI using the method mentioned above.
    Here are the results I got:
    Using the runtimeDPIProvider property on the TabViewApplication tag (works for any of the three project types) I created a class that extends RuntimeDPIProvider. To detect which iPad I was on, I used the following code:
    override public function get runtimeDPI():Number
         var os:String = Capabilities.os;
         if(os.indexOf("iPad") != -1)
              if(Capabilities.screenResolutionX > 2000 || Capabilities.screenResolutionY > 2000)
                   return DPIClassification.DPI_320;
              } else {
                   return DPIClassification.DPI_160;
         } else {
              return Capabilities.screenDPI;
    I'm returning a DPI of 320 as this gives the best result that matches the proportions of the device. In other words, even though the iPad DPI is 264, setting the app to 320 gives the correct size at the new Retina display.
    In order for this to work, you must compile the app with the -platformsdk flag pointing to iOS 5.1 SDK, and currently that means you need a Mac running Lion with Xcode 4.3.1. Here's the adt command I used:
    adt -package -target ipa-test -storetype pkcs12 -keystore ~/Desktop/iOS_DevCert.p12 -provisioning-profile ~/Desktop/iOS_DevProfile.mobileprovision newiPadTest.ipa newiPadTest-app.xml newiPadTest.swf -platformsdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPh oneOS5.1.sdk
    Also, the -app.xml descriptor file must have the <requestedDisplayResolution>high</requestedDisplayResolution> within the <iPhone> tags.
    Thanks everyone for their replies!
    iBrent

  • Adobe Flex Mobile + AIR - Custom iOS Build Setting

    I am building some Adobe Flex Mobile application using Flex 4.6.0 + AIR 3.5 only for iOS
    This app involves some iOS Native Extension created also by me.
    The thing is that this ANE uses some third party framework (GD.framework from Good Dynamics Technology). That framework requires GD FIPS linker to be used, and for that, i need to set some custom build settings in a .xcconfig file, with this content:
    FIPS_PACKAGE=$(CURRENT_ARCH).sdk LDPLUSPLUS=/Good Technology/Good.platform/FIPS_module/$FIPS_PACKAGE/bin/gd_fipsld LD=/Good Technology/Good.platform/FIPS_module/$FIPS_PACKAGE/bin/gd_fipsld
    The ANE compiles OK, but then, I add the ANE to the app, I compile the app, but when I launch the app, it crashes because the FIPS linker was not properly got set on my Flex Mobile project.
    So, my question is:
    Is there a way to set the above configuration on my project like somebody would do in a Xcode project?
    Regards!

    I see your key as a reserved key for iOS. I haven't tested it myself but here's the keys you cannot change. Sure enough, MinimumOSVersion is reserved.

  • FLEX mobile project SDK?

    I've built my air/android apps using "Flex Mobile projects" in Flash Builder 4.5. I really need to test front camera support in an app im about to release. Will there be a Flex version of the Beta SDK so I can test this in my flex mobile projects? is it possible to use the "AIR 3 SDK Beta 2" SDK with a flex mobile project somehow?

    Yes follow the instructions here to change out the AIR version under Flex SDK 4.5.1
    http://blogs.adobe.com/cantrell/archives/2011/08/how-to-use-the-air-3-beta-sdk.html

  • Why am i not able to see any video on Flex Mobile project on tablet

    I am using the strobe media playback in my flex mobile application. I am able to play audio but no video is visible, if i double tap to change to full screen i can see a brief flash of the video then it gets dark again. i am streaming a mp4 file over http. The video displays properly in the emulator but not on my tablet. Can the video encoding have anything to do with it?
    I have the rendermode set to "direct" in the app.xml, my project is based on a ViewNavigatorApplication.

    Safari 5.0.1 or later: Slow or partial webpage loading, or webpage cannot be found

  • IOS universal support and ASC 2.0. Will it impact Flex Mobile projects?

    Hello,
    Regarding the latest release notes for AIR 16, it says
    "The legacy compiler is not (and will not be) compatible with iOS 64-bit.[...] it will be removed with version 16 of the AIR SDK"
    I am a bit lost with what it means for Flex Mobile (4.6 or Apache Flex SDK). Will we still be able to compile once AIR 16 is out or will this new compiler have issue with Flex projects compiled for iOS? Will it need us to make some changes on existing Flex applications?
    Thanks for your clarifications,
    Fabien

    It seems this wrong rumour is spreading around... a lot of people don't bother researching properly.
    When they talk about the legacy compiler they talk about ADT, MXMLC will continue to work. The simplified IPA packaging process is: Source code --- MXMLC/ASC2---> SWF ---ADT AOT Compiler---> IPA
    So with AIR 16 the ADT -useLegacyAOT argument will be removed.

  • Flex Mobile Projet - ActionBar position

    Hi, I have created a Flex mobile project, with ViewNavigatorApplication layout.  I want to position the ActionBar in the bottom of the app, rather than the default top aligned. How can I do that?
    I tried by setting the this.navigator.actionBar.y = 300; in the creationComplete of the application, but as I navigate to any other view, it jumps back to top.
    Please suggest.

    If you can't find a better solution, extend the View class and add the code to this extended view. All your view will then have to extend this view.
    You would have to add something like navigator.actionBar.y = FlexGlobals.topLevelApplication.height - navigator.actionBar.height; in the creationCompleteHandler (i would use a callLater because your change will be overwrited by the view_creationCompleteHandler) and in the viewActivate Handler. The navigator will always flash at the top when you switch view... It's why I hope you'll find a better way to do it.

  • Flex Mobile Auto Switch To Landscape

    I am building a Flex Mobile app for a final project at school and I would like it to automaticly switch to landscape mode when debugged. As of right now it starts out in portrait mode and I have to click rotate left.
    Any help would be awesome!
    Thank you.
    --Logan

    ok for anyone with the same problem......
    open up your xml file     example    test.xml   
    change the line.....
    <aspectRatio>landscape</aspectRatio>
    delete the comment charaters around it.
    --Logan

  • Flex Mobile, URLLoader and Sessions

    I have created a Flex Mobile Project that I've been testing so far on a Motorola Xoom and uses the URLLoader object to query some JSP pages and return the output. These JSP pages require user authentication which depend on sessions.
    If my URLLoader requests are made sequentially (the second request is not made until the first is completed) session information functions normally. If multiple URLLoader requests are made at the same time there is a chance that one or more of the request's session information will fail. I've used a packet sniffer and found that the "Cookie: JSESSION=..." header value is not being set or sent to the server.
    I've actually been able to solve this problem by fetching my session ID when I login, storing it locally and setting the "Cookie: JSESSION=..." value manually in the header of all my URLLoader requests. Most of the time the browser will overwrite this value that I've set with the session ID that it has, and that's fine. But in the case where it doesn't set this value then my manually set value is passed to the server and it is able to find the appropriate session.
    The solution I've come up with seems to work so far, but I was still wondering if anybody knows what's causing this or knows a better solution?

    That sounds like everything's working the way it should. Until the "first" request is authenticated successfully and the response comes back to the browser/device, your app doesn't have session credentials. Sending multiple simultaneous unauthenticated requests will thus all need to authenticate individually -- and making matters worse, may create multiple sessions on the server, so as they come back your session info (as represented by your JSESSION ids) will rapidly run through all the new sessions until settling on the last one.
    I would suggest changing your application flow to let your first request go by itself first and not submit any other requests until that (authenticated) response is received.
    -- Tom
    Flex SDK engineer

  • Flex Mobile textinput

    Hi, I type from Brazil,
    Please I need example textinput with mask for Flex Mobile,
    Thank's

    Friend, I could not, the code for FlexMobile
    <?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" xmlns:mx="library://ns.adobe.com/flex/mx">
              <fx:Script>
                        <![CDATA[
                                  import mx.events.ValidationResultEvent;
                                  import spark.events.TextOperationEvent;
                                  private var validResult:ValidationResultEvent;
                                  protected function button1_clickHandler(event:MouseEvent):void
                                            validResult= phValidator.validate();
                                            if (validResult.type == ValidationResultEvent.VALID)
                                                      readyNum.text=phFormatter.format(phNum.text) ;
                                            else
                                                      readyNum.text="";
                                  protected function phNum_changeHandler(event:TextOperationEvent):void
                                            if(phNum.text.length >9)
                                                      validResult= phValidator.validate();
                                                      if (validResult.type == ValidationResultEvent.VALID)
                                                                phNum.text=phFormatter.format(phNum.text);
                                                      else
                                                                readyNum.text="";
                                            else
                                                      readyNum.text= "";
                        ]]>
              </fx:Script>
              <fx:Declarations>
                        <mx:PhoneFormatter id="phFormatter" formatString="####-####" validPatternChars="#-() "/>
                        <mx:PhoneNumberValidator id="phValidator" property="text" source="{phNum}"  allowedFormatChars=""/>
              </fx:Declarations>
                                  <s:TextInput id="phNum" x="83" y="25" width="274" text="(###) ###-####" change="phNum_changeHandler(event)"/>
                                  <s:TextInput id="readyNum" x="83" y="66" width="274" editable="false" text=""/>
              <s:Button x="33" y="167" width="74" click="button1_clickHandler(event)"/>
    </s:View>
    Thanks.

  • Flex Mobile Images

    Hi, I am unable to see my Images in the adobe flex mobile project. I am able to see the picture before load but once the program is run the image disappears? I have tried changing the picture. The source path and the source path in source code. I really do not see what the problem is the path must be correct because the picture would not appear. I also have tried embedding the picture which still does not work. Can anyone suggest any options for me please?
    The image is Source I have tried: -
    <s:Image id="pic" x="48" y="53" smooth="true" source="@Embed('Assets\cat.jpg')"/>
    Also attempted: -
    <s:Image id="pic" x="48" y="53" smooth="true" source="('Assets\cat.jpg')"/>
    In design the source: -
    Assets/cat.jpg
    Also: -
    @Embed('Assets\cat.jpg')
    Can anyone please help me as I am really struggling to find a soloution.
    The images are saved in the Assets folder

    Thanks. So size of the file really doesn't matter much when it comes to loading/performance because it's basically a local file (embedded with the apk) is it.
    Also, if my source image is a jpg file, should I convert it to a PNG?

  • Flex Mobile - frameRate

    Hello,
    What is the default frameRate for a Flex Mobile app?
    Is there a problem in setting it to 60 (if default is lower)?
    Thank you.

    I wouldn't advise that.
    The framerate changes according to how many resources the application is using and how heavy is the current processing.
    See this useful app as reference:
    http://www.roguish.com/blog/?p=214
    Try to run it and you'll see that fps change as you modify the complexity of the animation.
    If you consider that the human eye can't appreciate the difference between frame rates higher that a certain level, you should just make sure that your app's frame rate is smooth enough for your animations.
    If you specify too elevate a frame rate for your app you could incour in a number of performance issues.
    For more info, google the Flash Player Elastic Racetrack, or:
    http://help.adobe.com/en_US/as3/mobile/WS948100b6829bd5a61a52657a1274ff66899-8000.html
    If you really want to set fps to 60, first check this out and notice that the default is 24:
    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/spark/components/Applic ation.html#frameRate

  • Flex mobile app - which data grid control to use?

    Hi,
    Trying to build my first Flex mobile app in FlashBuilder 4.6 and I need a grid control to display a 2 dimmensional array of 6 columns x 50 rows.
    The user doesn't don't need to have any interraction with the grid except for scrolling the rows.
    I was looking at using dataGrid component but adobe doesn't recommend it for mobile apps.
    Is there a grid component that is recommended for mobile apps?
    Thanks

    Here it is.
    // Show empty grid to start
    private function initGrid():void
        const dataArray:Array = new Array(1);
        var values:Array = new Array(1);
        values[0] = "";
        dataArray[0] = values;
        grid.dataProvider = new ArrayCollection(dataArray);
    // Build array and feed it to the grid - 50 rows x 9 columns dataGrid (grid)
    protected function FillGrid():void
    var rows:int = 50;
    var columns:int = 9;
    // rows array
    const dataArray:Array = new Array(rows);
    // Get rows
    for(var row:int=0; row<rows; row++)
      const arrLine:Array = [columns+1];
      arrLine[0] = row+1;
      for(var col:int=1; col<columns+1; col++)
       // columns array
       arrLine[col] = Math.floor(Math.random()*10);
      dataArray[row] = arrLine;
    // At this point the multi dimensional array is assembled, now we connect it to the dataGrid
    grid.dataProvider = new ArrayCollection(dataArray);
    <!-- The DataGrid's dataProvider and typicalItem are set at initialize time by the initializeDataProvider method. -->
    <s:Panel id="tablePanel" x="519" top="91" width="470" height="400" color="#827259" fontSize="18" title=".">
    <s:DataGrid id="grid" left="5" right="5" top="5" bottom="5" selectionMode="singleRow" initialize="initGrid()" fontSize="17" >
      <!-- The default item renderer is used by the first 6 columns to display
      the dataProvider item's array element value at col. -->
      <s:itemRenderer>
       <fx:Component>
        <s:DefaultGridItemRenderer>
         <fx:Script>
          <![CDATA[
           override public function prepare(hasBeenRecycled:Boolean):void
            label = data[columnIndex];
          ]]>
         </fx:Script>
        </s:DefaultGridItemRenderer>
       </fx:Component>
      </s:itemRenderer>
      <s:columns>
       <s:ArrayList>
        <!-- Columns inherit the DataGrid's itemRenderer. -->
        <s:GridColumn id="zero"    headerText="N0" width="65" resizable="false"/>
        <s:GridColumn id="one"     headerText="N1" width="45" resizable="false"/>
        <s:GridColumn id="two"     headerText="N2" width="45" resizable="false"/>   
        <s:GridColumn id="three"   headerText="N3" width="45" resizable="false"/>   
        <s:GridColumn id="four"    headerText="N4" width="45" resizable="false"/>
        <s:GridColumn id="five"    headerText="N5" width="45" resizable="false"/>
        <s:GridColumn id="six"     headerText="N6" width="45" resizable="false"/>
        <s:GridColumn id="seven"   headerText="N7" width="45" resizable="false"/>
        <s:GridColumn id="eight"   headerText="N8" width="65" resizable="false"/>
       </s:ArrayList>
      </s:columns>
    </s:DataGrid>
    </s:Panel>       
    Tomexxus

Maybe you are looking for

  • Please help before i throw my laptop out the window!!! :-)

    OK, so I have been surfing the net for help/solutions but to no avail... When I try and burn a disk from itunes on to a blank disk i get the 2131 error which judging by the ammount i have seen written about it, is VERY common. I am about to throw my

  • HOW TO SELECT ALL ROWS IN A MULTI SELECT TABLE!!!!!

    Hello I have a table with tableSelectMany component. how can I set the page to initially select all rows when first opened?????

  • Illustrator crashes - help

    Adobe illustrator is crashing almost 10 times per day. i really need to use this application. running osx 10.4.8 and using a powermac g5. anybody can decipher this? thanks lou heres the crash report: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE A

  • Back ground colour of applets?

    Can i change the colour of the background of my Applets, right now there r a really boaring gray colour, any info would be great thanxs Anthony

  • Re-installing Media Encoder 5.5 from Premiere 5.5 Disc??

    I must somehow erased my Media Encoder 5 from my computer. I have the Premiere Pro CS 5.5 Disc. Can I re-install Media Encoder from the Disc? Thanks in advance