2 Replies Latest reply on Jun 9, 2009 12:19 AM by dkelly60

    Why does the stage layout change when native menu added


      I have a program that was fine till I added a native menu to it. After adding the menu I have a space on both the left and the right of the stage. If I draw a shape at x=0, y=0 it appears about 40 pixels to the right of the window border. If I remove the menu the space still occurs what is going on?

        • 1. Re: Why does the stage layout change when native menu added
          Joe ... Ward Level 4

          Adding the menu shrinks the effective size of the stage. This happens because in the app descriptor, you set the outer size of the window, not the stage size. When you add a menu, the space for the menu is created by removing space from the stage, not by increasing the height of the window.


          You see the bars around the app because you have the stage scalemode set to something other than noScale.(noScale is NOT the default.) The other scale modes attempt to keep most or all of the app in view when the app is not the same size as the stage (which happens when you add a menu to a window). The space around the edge is the result of the runtime scaling your content into the available space When you remove the menu, this space should be returned to the stage -- and does in my tests, so I can't explain why you don't see the scaling go away. Perhaps you are drawing your content based on the reduced stage size so you still have extra space after the menu is removed.


          The stage align property determines how the content is positioned on the stage when it is scaled down. The default is center which distributes space to either side when the stage is scaled horizontally, which is why the origin effectively moves away from the left side of the window. If you used the an AlignMode of top left, the origin would stay in the top left corner.


          In general, I recommend setting the stage scaleMode to noScale in an application, unless you have a specific need for one of the other scale modes. Even then, you can still scale things programmtically using logic appropriate to the situation. The other modes were designed for use in a browser where the SWF author may not have control of the stage and so must choose the least-bad compromise. In an AIR app, you have control and so don't need to make that compromise.

          • 2. Re: Why does the stage layout change when native menu added
            dkelly60 Level 1

            Hi Joe


            Thanks for the help, it makes much more sense to me now:)