Packagecom.yahoo.astra.layout.modes
Classpublic class BorderLayout
InheritanceBorderLayout Inheritance BaseLayoutMode Inheritance flash.events.EventDispatcher
ImplementsIAdvancedLayoutMode

Arranges a DisplayObjectContainer's children using a page-like border algorithm. Children with TOP and BOTTOM constraints will be positioned and sized like page headers and footers. LEFT and RIGHT constrained children will be positioned and sized like sidebars and CENTER constrained children will be positioned and stretched to fill the remaining space.

Advanced Client Options:

Client configuration parameters allow a developer to specify behaviors for individual children of the target container. To set these advanced options, one must call addClient() on the BorderLayout instance and pass the child to configure along with an object specifying the configuration parameters.


Example
The following code adds clients to a BorderLayout instance:
  var border:BorderLayout = new BorderLayout();
  border.addClient( headerSprite, { constraint: BorderConstraints.TOP } );
  border.addClient( contentSprite,
  {
      constraint: BorderConstraints.CENTER,
      maintainAspectRatio: true,
      horizontalAlign: HorizontalAlignment.CENTER,
      verticalAlign: VerticalAlignment.MIDDLE
  });
  border.addClient( footerSprite, { constraint: BorderConstraints.BOTTOM } );
  
  var container:LayoutContainer = new LayoutContainer();
  container.layoutMode = border;
  this.addChild( container );
  

Several client parameters are available with the BorderLayout algorithm:

constraint : String
The BorderConstraints value to be used on the target by the layout algorithm. The default value is BorderConstraints.CENTER.
maintainAspectRatio : Boolean
If true, the aspect ratio of the target will be maintained if it is resized.
horizontalAlign : String
The horizontal alignment used when positioning the target. Used in combination with maintainAspectRatio.
verticalAlign : String
The vertical alignment used when positioning the target. Used in combination with maintainAspectRatio.
aspectRatio : Number
The desired aspect ratio to use with maintainAspectRatio. This value is optional. If no aspect ratio is provided, it will be determined based on the target's original width and height.
includeInLayout : Boolean
If false, the target will not be included in layout calculations. The default value is true.

See also

BorderConstraints
HorizontalAlignment
VerticalAlignment
com.yahoo.astra.layout.LayoutContainer


Public Properties
 PropertyDefined by
  horizontalGap : Number
The number of horizontal pixels between each item displayed by this container.
BorderLayout
 InheritedpaddingBottom : Number
The number of pixels displayed at the bottom of the target's children.
BaseLayoutMode
 InheritedpaddingLeft : Number
The number of pixels displayed at the left of the target's children.
BaseLayoutMode
 InheritedpaddingRight : Number
The number of pixels displayed at the right of the target's children.
BaseLayoutMode
 InheritedpaddingTop : Number
The number of pixels displayed at the top of the target's children.
BaseLayoutMode
  verticalGap : Number
The number of vertical pixels between each item displayed by this container.
BorderLayout
Public Methods
 MethodDefined by
  
Constructor.
BorderLayout
 Inherited
addClient(target:DisplayObject, configuration:Object = null):void
Registers a specific display object with the layout algorithm.
BaseLayoutMode
 Inherited
hasClient(target:DisplayObject):Boolean
Returns true if a display object has been registered as a client.
BaseLayoutMode
  
layoutObjects(displayObjects:Array, bounds:Rectangle):Rectangle
The DisplayObjects in the input parameter will be positioned and sized based on a specified rectangle.
BorderLayout
 Inherited
removeClient(target:DisplayObject):void
Unregisters a specific display object from the layout algorithm.
BaseLayoutMode
Property detail
horizontalGapproperty
horizontalGap:Number  [read-write]

The number of horizontal pixels between each item displayed by this container.

Implementation
    public function get horizontalGap():Number
    public function set horizontalGap(value:Number):void
verticalGapproperty 
verticalGap:Number  [read-write]

The number of vertical pixels between each item displayed by this container.

Implementation
    public function get verticalGap():Number
    public function set verticalGap(value:Number):void
Constructor detail
BorderLayout()constructor
public function BorderLayout()

Constructor.

Method detail
layoutObjects()method
public override function layoutObjects(displayObjects:Array, bounds:Rectangle):Rectangle

The DisplayObjects in the input parameter will be positioned and sized based on a specified rectangle. There is no requirement that the display objects remain entirely within the rectangle.

Returns the actual rectangular region in which the laid out children will appear. This may be larger or smaller than the suggested rectangle. This returned value is expected to be used by container components to determine if scrollbars or other navigation controls are needed.

Parameters
displayObjects:Array — An Array of DisplayObjects to be laid out.
 
bounds:Rectangle — The rectangular region in which the display objects should be placed.

Returns
Rectangle — The actual region in which the display objects are contained.