Adobe® Flex® 4 Language Reference
Hide Packages and Classes List |  Packages  |  Classes  |  Index  |  Appendixes
spark.layouts 
VerticalLayout 
Packagespark.layouts
Classpublic class VerticalLayout
InheritanceVerticalLayout Inheritance LayoutBase Inheritance OnDemandEventDispatcher Inheritance Object

Language Version: ActionScript 3.0
Product Version: Flex 4
Runtime Versions: Flash Player 10, AIR 1.5

The VerticalLayout class arranges the layout elements in a vertical sequence, top to bottom, with optional gaps between the elements and optional padding around the sequence of elements.

The vertical position of the elements is determined by arranging them in a vertical sequence, top to bottom, taking into account the padding before the first element and the gaps between the elements.

The horizontal position of the elements is determined by the layout's horizontalAlign property.

During the execution of the measure() method, the default size of the container is calculated by accumulating the preferred sizes of the elements, including gaps and padding. When requestedRowCount is set, only the space for that many elements is measured, starting from the first element.

During the execution of the updateDisplayList() method, the height of each element is calculated according to the following rules, listed in their respective order of precedence (element's minimum height and maximum height are always respected):

  • If variableRowHeight is false, then set the element's height to the value of the rowHeight property.
  • If the element's percentHeight is set, then calculate the element's height by distributing the available container height between all elements with a percentHeight setting. The available container height is equal to the container height minus the gaps, the padding and the space occupied by the rest of the elements. The element's precentHeight property is ignored when the layout is virtualized.
  • Set the element's height to its preferred height.

The width of each element is calculated according to the following rules, listed in their respective order of precedence (element's minimum width and maximum width are always respected):

  • If horizontalAlign is "justify", then set the element's width to the container width.
  • If horizontalAlign is "contentJustify", then set the element's width to the maximum between the container's width and all elements' preferred width.
  • If the element's percentWidth is set, then calculate the element's width as a percentage of the container's width.
  • Set the element's width to its preferred width.

MXML SyntaxexpandedHide MXML Syntax

The <s:VerticalLayout> tag inherits all of the tag attributes of its superclass and adds the following tag attributes:

  <s:VerticalLayout 
    Properties
    gap="6"
    horizontalAlign="left"
    paddingBottom="0"
    paddingLeft="0"
    paddingRight="0"
    paddingTop="0"
    requestedMinRowCount="-1"
    requestedRowCount="-1"
    rowHeight="calculated"
    variableRowHeight="true"
    verticalAlign="top"
  />
  

See also



Public Properties
 PropertyDefined By
 InheritedclipAndEnableScrolling : Boolean
If true, specifies to clip the children to the boundaries of the viewport.
LayoutBase
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
 InheriteddropIndicator : DisplayObject
The DisplayObject that this layout uses for the drop indicator during a drag-and-drop operation.
LayoutBase
  firstIndexInView : int
[read-only] The index of the first layout element that is part of the layout and within the layout target's scroll rectangle, or -1 if nothing has been displayed yet.
VerticalLayout
  gap : int
The vertical space between layout elements, in pixels.
VerticalLayout
  horizontalAlign : String
The horizontal alignment of layout elements.
VerticalLayout
 InheritedhorizontalScrollPosition : Number
The x coordinate of the origin of the viewport in the component's coordinate system, where the default value is (0,0) corresponding to the upper-left corner of the component.
LayoutBase
  lastIndexInView : int
[read-only] The index of the last row that's part of the layout and within the container's scroll rectangle, or -1 if nothing has been displayed yet.
VerticalLayout
  paddingBottom : Number
Number of pixels between the container's bottom edge and the bottom edge of the last layout element.
VerticalLayout
  paddingLeft : Number
The minimum number of pixels between the container's left edge and the left edge of the layout element.
VerticalLayout
  paddingRight : Number
The minimum number of pixels between the container's right edge and the right edge of the layout element.
VerticalLayout
  paddingTop : Number
Number of pixels between the container's top edge and the top edge of the first layout element.
VerticalLayout
 Inheritedprototype : Object
[static] A reference to the prototype object of a class or function object.
Object
  requestedMinRowCount : int
The measured height of this layout is large enough to display at least requestedMinRowCount layout elements.
VerticalLayout
  requestedRowCount : int
The measured size of this layout is tall enough to display the first requestedRowCount layout elements.
VerticalLayout
  rowCount : int
[read-only] The current number of visible elements.
VerticalLayout
  rowHeight : Number
If variableRowHeight is false, then this property specifies the actual height of each child, in pixels.
VerticalLayout
 Inheritedtarget : GroupBase
The GroupBase container whose elements are measured, sized and positioned by this layout.
LayoutBase
 InheritedtypicalLayoutElement : ILayoutElement
Used by layouts when fixed row/column sizes are requested but a specific size isn't specified.
LayoutBase
 InheriteduseVirtualLayout : Boolean
A container can hold any number of children.
LayoutBase
  variableRowHeight : Boolean
Specifies whether layout elements are allocated their preferred height.
VerticalLayout
  verticalAlign : String
The vertical alignment of the content relative to the container's height.
VerticalLayout
 InheritedverticalScrollPosition : Number
The y coordinate of the origin of the viewport in the component's coordinate system, where the default value is (0,0) corresponding to the upper-left corner of the component.
LayoutBase
Public Methods
 MethodDefined By
  
Constructor.
VerticalLayout
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
OnDemandEventDispatcher
 Inherited
Calculates the drop location in the data provider of the drop target for the specified dragEvent.
LayoutBase
 Inherited
When useVirtualLayout is true, this method can be used by the layout target to clear cached layout information when the target changes.
LayoutBase
 Inherited
OnDemandEventDispatcher
 Inherited
Called by the target after a layout element has been added and before the target's size and display list are validated.
LayoutBase
 Inherited
This method must is called by the target after a layout element has been removed and before the target's size and display list are validated.
LayoutBase
  
Returns 1.0 if the specified index is completely in view, 0.0 if it's not, or a value between 0.0 and 1.0 that represents the percentage of the if the index that is partially in view.
VerticalLayout
 Inherited
Returns the specified element's layout bounds as a Rectangle or null if the index is invalid, the corresponding element is null, includeInLayout=false, or if this layout's target property is null.
LayoutBase
 Inherited
Returns the change to the horizontal scroll position to handle different scrolling options.
LayoutBase
 Inherited
getNavigationDestinationIndex(currentIndex:int, navigationUnit:uint, arrowKeysWrapFocus:Boolean):int
Delegation method that determines which item to navigate to based on the current item in focus and user input in terms of NavigationUnit.
LayoutBase
 Inherited
Computes the verticalScrollPosition and horizontalScrollPosition deltas needed to scroll the element at the specified index into view.
LayoutBase
 Inherited
Returns the change to the horizontal scroll position to handle different scrolling options.
LayoutBase
 Inherited
OnDemandEventDispatcher
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Hides the previously shown drop indicator, created by the showDropIndicator() method, removes it from the display list and also stops the drag scrolling.
LayoutBase
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Measures the target's default size based on its content, and optionally measures the target's default minimum size.
LayoutBase
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
OnDemandEventDispatcher
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Sizes, positions and parents the drop indicator based on the specified drop location.
LayoutBase
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Sizes and positions the target's elements.
LayoutBase
 Inherited
Called by the target at the end of its updateDisplayList to have the layout update its scrollRect.
LayoutBase
 Inherited
Returns the primitive value of the specified object.
Object
 Inherited
OnDemandEventDispatcher
Protected Methods
 MethodDefined By
 Inherited
Calculates how much to scroll for the specified dropLocation during a drag and drop gesture.
LayoutBase
 Inherited
Returns the index where a new item should be inserted if the user releases the mouse at the specified coordinates while completing a drag and drop gesture.
LayoutBase
 Inherited
Calculates the bounds for the drop indicator that provides visual feedback to the user of where the items will be inserted at the end of a drag and drop gesture.
LayoutBase
 Inherited
Returns the bounds of the first layout element that either spans or is above the scrollRect's top edge.
LayoutBase
 Inherited
Returns the bounds of the first layout element that either spans or is below the scrollRect's bottom edge.
LayoutBase
 Inherited
Returns the bounds of the first layout element that either spans or is to the left of the scrollRect's left edge.
LayoutBase
 Inherited
Returns the bounds of the first layout element that either spans or is to the right of the scrollRect's right edge.
LayoutBase
 Inherited
Returns the bounds of the target's scroll rectangle in layout coordinates.
LayoutBase
 Inherited
Called when the verticalScrollPosition or horizontalScrollPosition properties change.
LayoutBase
Property Detail

firstIndexInView

property
firstIndexInView:int  [read-only]

Language Version: ActionScript 3.0
Product Version: Flex 4
Runtime Versions: Flash Player 10, AIR 1.5

The index of the first layout element that is part of the layout and within the layout target's scroll rectangle, or -1 if nothing has been displayed yet.

"Part of the layout" means that the element is non-null and that its includeInLayout property is true.

Note that the layout element may only be partially in view.

This property can be used as the source for data binding. When this property is modified, it dispatches the indexInViewChanged event.



Implementation
    public function get firstIndexInView():int

See also

fractionOfElementInView()

gap

property 
gap:int

Language Version: ActionScript 3.0
Product Version: Flex 4
Runtime Versions: Flash Player 10, AIR 1.5

The vertical space between layout elements, in pixels. Note that the gap is only applied between layout elements, so if there's just one element, the gap has no effect on the layout.

The default value is 6.



Implementation
    public function get gap():int
    public function set gap(value:int):void

horizontalAlign

property 
horizontalAlign:String

Language Version: ActionScript 3.0
Product Version: Flex 4
Runtime Versions: Flash Player 10, AIR 1.5

The horizontal alignment of layout elements. If the value is "left", "right", or "center" then the layout element is aligned relative to the container's contentWidth property.

If the value is "contentJustify", then the layout element's actual width is set to the contentWidth of the container. The contentWidth of the container is the width of the largest layout element. If all layout elements are smaller than the width of the container, then set the width of all layout elements to the width of the container.

If the value is "justify" then the layout element's actual width is set to the container's width.

This property does not affect the layout's measured size.

The default value is "left".



Implementation
    public function get horizontalAlign():String
    public function set horizontalAlign(value:String):void

lastIndexInView

property 
lastIndexInView:int  [read-only]

Language Version: ActionScript 3.0
Product Version: Flex 4
Runtime Versions: Flash Player 10, AIR 1.5

The index of the last row that's part of the layout and within the container's scroll rectangle, or -1 if nothing has been displayed yet.

"Part of the layout" means that the child is non-null and that its includeInLayout property is true.

Note that the row may only be partially in view.

This property can be used as the source for data binding. When this property is modified, it dispatches the indexInViewChanged event.



Implementation
    public function get lastIndexInView():int

See also

firstIndexInView
fractionOfElementInView

paddingBottom

property 
paddingBottom:Number

Language Version: ActionScript 3.0
Product Version: Flex 4
Runtime Versions: Flash Player 10, AIR 1.5

Number of pixels between the container's bottom edge and the bottom edge of the last layout element.

The default value is 0.



Implementation
    public function get paddingBottom():Number
    public function set paddingBottom(value:Number):void

paddingLeft

property 
paddingLeft:Number

Language Version: ActionScript 3.0
Product Version: Flex 4
Runtime Versions: Flash Player 10, AIR 1.5

The minimum number of pixels between the container's left edge and the left edge of the layout element.

The default value is 0.



Implementation
    public function get paddingLeft():Number
    public function set paddingLeft(value:Number):void

paddingRight

property 
paddingRight:Number

Language Version: ActionScript 3.0
Product Version: Flex 4
Runtime Versions: Flash Player 10, AIR 1.5

The minimum number of pixels between the container's right edge and the right edge of the layout element.

The default value is 0.



Implementation
    public function get paddingRight():Number
    public function set paddingRight(value:Number):void

paddingTop

property 
paddingTop:Number

Language Version: ActionScript 3.0
Product Version: Flex 4
Runtime Versions: Flash Player 10, AIR 1.5

Number of pixels between the container's top edge and the top edge of the first layout element.

The default value is 0.



Implementation
    public function get paddingTop():Number
    public function set paddingTop(value:Number):void

requestedMinRowCount

property 
requestedMinRowCount:int

Language Version: ActionScript 3.0
Product Version: Flex 4
Runtime Versions: Flash Player 10, AIR 1.5

The measured height of this layout is large enough to display at least requestedMinRowCount layout elements.

If requestedRowCount is set, then this property has no effect.

If the actual size of the container has been explicitly set, then this property has no effect.

The default value is -1.



Implementation
    public function get requestedMinRowCount():int
    public function set requestedMinRowCount(value:int):void

requestedRowCount

property 
requestedRowCount:int

Language Version: ActionScript 3.0
Product Version: Flex 4
Runtime Versions: Flash Player 10, AIR 1.5

The measured size of this layout is tall enough to display the first requestedRowCount layout elements.

If requestedRowCount is -1, then the measured size will be big enough for all of the layout elements.

If the actual size of the container has been explicitly set, then this property has no effect.

The default value is -1.



Implementation
    public function get requestedRowCount():int
    public function set requestedRowCount(value:int):void

rowCount

property 
rowCount:int  [read-only]

Language Version: ActionScript 3.0
Product Version: Flex 4
Runtime Versions: Flash Player 10, AIR 1.5

The current number of visible elements.

The default value is -1.

This property can be used as the source for data binding. When this property is modified, it dispatches the propertyChange event.



Implementation
    public function get rowCount():int

rowHeight

property 
rowHeight:Number

Language Version: ActionScript 3.0
Product Version: Flex 4
Runtime Versions: Flash Player 10, AIR 1.5

If variableRowHeight is false, then this property specifies the actual height of each child, in pixels.

If variableRowHeight is true, the default, then this property has no effect.

The default value of this property is the preferred height of the typicalLayoutElement.



Implementation
    public function get rowHeight():Number
    public function set rowHeight(value:Number):void

variableRowHeight

property 
variableRowHeight:Boolean

Language Version: ActionScript 3.0
Product Version: Flex 4
Runtime Versions: Flash Player 10, AIR 1.5

Specifies whether layout elements are allocated their preferred height. Setting this property to false specifies fixed height rows.

If false, the actual height of each layout element is the value of rowHeight. Setting this property to false causes the layout to ignore the layout elements' percentHeight property.

The default value is true.



Implementation
    public function get variableRowHeight():Boolean
    public function set variableRowHeight(value:Boolean):void

verticalAlign

property 
verticalAlign:String

Language Version: ActionScript 3.0
Product Version: Flex 4
Runtime Versions: Flash Player 10, AIR 1.5

The vertical alignment of the content relative to the container's height.

If the value is "bottom", "middle", or "top" then the layout elements are aligned relative to the container's contentHeight property.

If the value is "contentJustify" then the actual height of the layout element is set to the container's contentHeight property. The content height of the container is the height of the largest layout element. If all layout elements are smaller than the height of the container, then set the height of all the layout elements to the height of the container.

If the value is "justify" then the actual height of the layout elements is set to the container's height.

This property has no effect when clipAndEnableScrolling is true and the contentHeight is greater than the container's height.

This property does not affect the layout's measured size.

The default value is "top".



Implementation
    public function get verticalAlign():String
    public function set verticalAlign(value:String):void
Constructor Detail

VerticalLayout

()Constructor
public function VerticalLayout()

Language Version: ActionScript 3.0
Product Version: Flex 4
Runtime Versions: Flash Player 10, AIR 1.5

Constructor.

Method Detail

fractionOfElementInView

()method
public function fractionOfElementInView(index:int):Number

Language Version: ActionScript 3.0
Product Version: Flex 4
Runtime Versions: Flash Player 10, AIR 1.5

Returns 1.0 if the specified index is completely in view, 0.0 if it's not, or a value between 0.0 and 1.0 that represents the percentage of the if the index that is partially in view.

An index is "in view" if the corresponding non-null layout element is within the vertical limits of the container's scrollRect and included in the layout.

If the specified index is partially within the view, the returned value is the percentage of the corresponding layout element that's visible.

Parameters

index:int — The index of the row.

Returns
Number — The percentage of the specified element that's in view. Returns 0.0 if the specified index is invalid or if it corresponds to null element, or a ILayoutElement for which the includeInLayout property is false.