Package | spark.layouts |
Class | public class HorizontalLayout |
Inheritance | HorizontalLayout LayoutBase OnDemandEventDispatcher Object |
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4 |
Runtime Versions : | Flash Player 10, AIR 1.5 |
The horizontal position of the elements is determined by arranging them in a horizontal sequence, left to right, taking into account the padding before the first element and the gaps between the elements.
The vertical position of the elements is determined by the layout's
verticalAlign
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 the requestedColumnCount
property is set to a value other than -1,
only the space for that many elements
is measured, starting from the first element.
During the execution of the updateDisplayList()
method,
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):
variableColumnWidth
is false
,
then set the element's width to the
value of the columnWidth
property.percentWidth
is set, then calculate the element's
width by distributing the available container width between all
elements with percentWidth
setting.
The available container width
is equal to the container width minus the gaps, the padding and the
space occupied by the rest of the elements. The element's precentWidth
property is ignored when the layout is virtualized.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):
verticalAlign
property is "justify"
,
then set the element's height to the container height.verticalAlign
property is "contentJustify"
,
then set the element's height to the maximum between the container's height
and all elements' preferred height.percentHeight
property is set,
then calculate the element's height as a percentage of the container's height.The <s:HorizontalLayout>
tag inherits all of the tag
attributes of its superclass and adds the following tag attributes:
<s:HorizontalLayout Properties columnWidth="calculated" gap="6" padding="0" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" requestedColumnCount="-1" requestedMaxColumnCount="-1" requestedMinColumnCount="-1" variableColumnWidth="true" verticalAlign="top" />
Property | Defined By | ||
---|---|---|---|
clipAndEnableScrolling : Boolean
If true, specifies to clip the children to the boundaries of the viewport. | LayoutBase | ||
columnCount : int [read-only]
Returns the current number of elements in view. | HorizontalLayout | ||
columnWidth : Number
If the variableColumnWidth property is false,
then this property specifies the actual width of each layout element, in pixels. | HorizontalLayout | ||
dropIndicator : 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 column that is part of the layout and within
the layout target's scroll rectangle, or -1 if nothing has been displayed yet. | HorizontalLayout | ||
gap : int
The horizontal space between layout elements, in pixels. | HorizontalLayout | ||
horizontalAlign : String
The horizontal alignment of the content relative to the container's width. | HorizontalLayout | ||
horizontalScrollPosition : 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 column that is part of the layout and within
the layout target's scroll rectangle, or -1 if nothing has been displayed yet. | HorizontalLayout | ||
padding : Number
The minimum number of pixels between the container's edges and
the edges of the layout element. | HorizontalLayout | ||
paddingBottom : Number
The minimum number of pixels between the container's bottom edge and
the bottom of all the container's layout elements. | HorizontalLayout | ||
paddingLeft : Number
Number of pixels between the container's left edge
and the left edge of the first layout element. | HorizontalLayout | ||
paddingRight : Number
Number of pixels between the container's right edge
and the right edge of the last layout element. | HorizontalLayout | ||
paddingTop : Number
The minimum number of pixels between the container's top edge and
the top of all the container's layout elements. | HorizontalLayout | ||
requestedColumnCount : int
The measured size of this layout is wide enough to display
the first requestedColumnCount layout elements. | HorizontalLayout | ||
requestedMaxColumnCount : int
The measured width of this layout is large enough to display
at most requestedMaxColumnCount layout elements. | HorizontalLayout | ||
requestedMinColumnCount : int
The measured width of this layout is large enough to display
at least requestedMinColumnCount layout elements. | HorizontalLayout | ||
target : GroupBase
The GroupBase container whose elements are measured, sized and positioned
by this layout. | LayoutBase | ||
typicalLayoutElement : ILayoutElement
Used by layouts when fixed row/column sizes are requested but
a specific size isn't specified. | LayoutBase | ||
useVirtualLayout : Boolean
A container can hold any number of children. | LayoutBase | ||
variableColumnWidth : Boolean
If true, specifies that layout elements are to be allocated their
preferred width. | HorizontalLayout | ||
verticalAlign : String
The vertical alignment of layout elements. | HorizontalLayout | ||
verticalScrollPosition : 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 |
Method | Defined By | ||
---|---|---|---|
Constructor. | HorizontalLayout | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void | OnDemandEventDispatcher | ||
Calculates the drop location in the data provider of the drop target for
the specified dragEvent. | LayoutBase | ||
clearVirtualLayoutCache():void
When useVirtualLayout is true,
this method can be used by the layout target
to clear cached layout information when the target changes. | LayoutBase | ||
dispatchEvent(event:Event):Boolean | OnDemandEventDispatcher | ||
elementAdded(index:int):void
Called by the target after a layout element
has been added and before the target's size and display list are
validated. | LayoutBase | ||
elementRemoved(index:int):void
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 | ||
fractionOfElementInView(index:int):Number
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. | HorizontalLayout | ||
getElementBounds(index:int):Rectangle
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 | ||
getHorizontalScrollPositionDelta(navigationUnit:uint):Number
Returns the change to the horizontal scroll position to handle
different scrolling options. | LayoutBase | ||
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 | ||
getScrollPositionDeltaToElement(index:int):Point
Computes the verticalScrollPosition and
horizontalScrollPosition deltas needed to
scroll the element at the specified index into view. | LayoutBase | ||
getVerticalScrollPositionDelta(navigationUnit:uint):Number
Returns the change to the vertical scroll position to handle
different scrolling options. | LayoutBase | ||
hasEventListener(type:String):Boolean | OnDemandEventDispatcher | ||
hideDropIndicator():void
Hides the previously shown drop indicator,
created by the showDropIndicator() method,
removes it from the display list and also stops the drag scrolling. | LayoutBase | ||
measure():void
Measures the target's default size based on its content, and optionally
measures the target's default minimum size. | LayoutBase | ||
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void | OnDemandEventDispatcher | ||
showDropIndicator(dropLocation:DropLocation):void
Sizes, positions and parents the drop indicator based on the specified
drop location. | LayoutBase | ||
updateDisplayList(width:Number, height:Number):void
Sizes and positions the target's elements. | LayoutBase | ||
updateScrollRect(w:Number, h:Number):void
Called by the target at the end of its updateDisplayList
to have the layout update its scrollRect. | LayoutBase | ||
willTrigger(type:String):Boolean | OnDemandEventDispatcher |
columnCount | property |
columnCount:int
[read-only] Language Version : | ActionScript 3.0 |
Product Version : | Flex 4 |
Runtime Versions : | Flash Player 10, AIR 1.5 |
Returns the current number of elements in view.
The default value is -1
.
This property can be used as the source for data binding.
public function get columnCount():int
columnWidth | property |
columnWidth:Number
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4 |
Runtime Versions : | Flash Player 10, AIR 1.5 |
If the variableColumnWidth
property is false
,
then this property specifies the actual width of each layout element, in pixels.
If the variableColumnWidth
property is true
,
the default, then this property has no effect.
The default value of this property is the preferred width
of the item specified by the typicalLayoutElement
property.
public function get columnWidth():Number
public function set columnWidth(value:Number):void
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 column that is part of the layout and within the layout target's scroll rectangle, or -1 if nothing has been displayed yet. Note that the column may only be partially in view.
This property can be used as the source for data binding.
public function get firstIndexInView():int
See also
gap | property |
gap:int
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4 |
Runtime Versions : | Flash Player 10, AIR 1.5 |
The horizontal 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
.
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 the content relative to the container's width.
If the value is "left"
, "right"
, or "center"
then the
layout element is aligned relative to the container's contentWidth
property.
This property has no effect when clipAndEnableScrolling
is true
and the contentWidth
is greater than the container's width.
This property does not affect the layout's measured size.
The default value is "left"
.
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 column that is part of the layout and within the layout target's scroll rectangle, or -1 if nothing has been displayed yet. Note that the column may only be partially in view.
This property can be used as the source for data binding.
public function get lastIndexInView():int
See also
padding | property |
padding: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 edges and the edges of the layout element.
The default value is 0
.
public function get padding():Number
public function set padding(value:Number):void
paddingBottom | property |
paddingBottom: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 bottom edge and the bottom of all the container's layout elements.
The default value is 0
.
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 |
Number of pixels between the container's left edge and the left edge of the first layout element.
The default value is 0
.
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 |
Number of pixels between the container's right edge and the right edge of the last layout element.
The default value is 0
.
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 |
The minimum number of pixels between the container's top edge and the top of all the container's layout elements.
The default value is 0
.
public function get paddingTop():Number
public function set paddingTop(value:Number):void
requestedColumnCount | property |
requestedColumnCount: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 wide enough to display
the first requestedColumnCount
layout elements.
If requestedColumnCount
is -1, then the measured
size will be big enough for all of the layout elements.
If the actual size of the container using this layout has been explicitly set, then this property has no effect.
The default value is -1
.
public function get requestedColumnCount():int
public function set requestedColumnCount(value:int):void
See also
requestedMaxColumnCount | property |
requestedMaxColumnCount:int
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
The measured width of this layout is large enough to display
at most requestedMaxColumnCount
layout elements.
If requestedColumnCount
is set, then
this property has no effect.
If the actual size of the container using this layout has been explicitly set, then this property has no effect.
The default value is -1
.
public function get requestedMaxColumnCount():int
public function set requestedMaxColumnCount(value:int):void
See also
requestedMinColumnCount | property |
requestedMinColumnCount:int
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 2.5 |
The measured width of this layout is large enough to display
at least requestedMinColumnCount
layout elements.
If requestedColumnCount
is set, then
this property has no effect.
If the actual size of the container using this layout has been explicitly set, then this property has no effect.
The default value is -1
.
public function get requestedMinColumnCount():int
public function set requestedMinColumnCount(value:int):void
See also
variableColumnWidth | property |
variableColumnWidth:Boolean
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4 |
Runtime Versions : | Flash Player 10, AIR 1.5 |
If true
, specifies that layout elements are to be allocated their
preferred width.
Setting this property to false
specifies fixed width columns.
The actual width of each layout element is
the value of the columnWidth
property, and the layout ignores
a layout elements' percentWidth
property.
The default value is true
.
public function get variableColumnWidth():Boolean
public function set variableColumnWidth(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 layout elements.
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.
If the value is "baseline"
then the elements are positioned
such that their text is aligned to the maximum of the elements' text ascent.
The default value is "top"
.
public function get verticalAlign():String
public function set verticalAlign(value:String):void
HorizontalLayout | () | Constructor |
public function HorizontalLayout()
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4 |
Runtime Versions : | Flash Player 10, AIR 1.5 |
Constructor.
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 horizontal 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 column.
|
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 .
|