Marc Hughes


Home
Blog
Twitter
LinkedIn
GitHub
about
I am a developer from a bit west of Boston.

Don't center popups

26 Jan 2008

When placing popups, the Flex PopupManager class gives a great method called centerPopup. But please, don't use that. Rarely do you actually want a popup centered. It's often times much more visually pleasing to above there.  I like placing the top of the popup around 20% of the height of the application.

A centered popup:




A popup at 20% from the top:


Of course this isn't a hard-set rule.  Sometimes you want your popup in other locations.  For instance, if it was triggered by a toolbar at the bottom of your application it makes no sense to force the user to mouse that far up.

Here's a quick method to place that popup, I register my main application component on startup, but you could easily pass that in or use a stage reference instead.  This method won't work well if you popup is too tall.


public class PopupPositioner
{
public static var mainApp:UIComponent;

public static function centerPopUp(popup:UIComponent) : void
{
popup.x = mainApp.width / 2 - popup.width / 2;
popup.y = mainApp.height / 5;
}
}