Package | spark.layouts |
Class | public class ConstraintLayout |
Inheritance | ConstraintLayout LayoutBase OnDemandEventDispatcher Object |
Subclasses | FormItemLayout |
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 1.5 |
Note: The Spark list-based controls (the Spark List control and its subclasses such as ButtonBar, ComboBox, DropDownList, and TabBar) do not support the ConstraintLayout class. Do not use ConstraintLayout with the Spark list-based controls.
Per-element supported constraints are left
, right
,
top
, bottom
, baseline
,
percentWidth
, and percentHeight
.
Element's minimum and maximum sizes will always be respected.
Columns and rows may have an explicit size or content size (no explicit size). Explicit size regions will be fixed at their specified size, while content size regions will stretch to fit only the elements constrained to them. If multiple content size regions are spanned by an element, the space will be divided equally among the content size regions.
The measured size of the container is calculated from the elements, their constraints, their preferred sizes, and the sizes of the rows and columns. The size of each row and column is just big enough to hold all of the elements constrained to it at their preferred sizes with constraints satisfied. The measured size of the container is big enough to hold all of the columns and rows as well as any other elements left at their preferred sizes with constraints satisfied.
During a call to the updateDisplayList()
method,
the element's size is determined according to
the rules in the following order of precedence (the element's minimum and
maximum sizes are always respected):
percentWidth
or percentHeight
set,
then its size is calculated as a percentage of the available size, where the available
size is the region or container size minus any left
, right
,
top
, or bottom
constraints.left
and right
constraints.top
and bottom
constraints,
it's height is set to be the container's height minus the top
and bottom
constraints.The element's position is determined according to the rules in the following order of precedence:
baselinePosition
(usually the base line
of its first line of text) is aligned with baseline
constraint.top
or left
constraints
are specified, then the element is
positioned such that the top-left corner of the element's layout bounds is
offset from the top-left corner of the container by the specified values.bottom
or right
constraints are specified,
then the element is positioned such that the bottom-right corner
of the element's layout bounds is
offset from the bottom-right corner of the container by the specified values.The content size of the container is calculated as the maximum of the coordinates of the bottom-right corner of all the layout elements and constraint regions.
Property | Defined By | ||
---|---|---|---|
clipAndEnableScrolling : Boolean
If true, specifies to clip the children to the boundaries of the viewport. | LayoutBase | ||
constraintColumns : Vector.<ConstraintColumn>
A Vector of ConstraintColumn instances that partition the target container. | ConstraintLayout | ||
constraintRows : Vector.<ConstraintRow>
A Vector of ConstraintRow instances that partition the target container. | ConstraintLayout | ||
dropIndicator : DisplayObject
The DisplayObject that this layout uses for
the drop indicator during a drag-and-drop operation. | LayoutBase | ||
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 | ||
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 | ||
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. | ConstraintLayout | ||
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 | ||
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 |
Method | Defined By | ||
---|---|---|---|
calculateDragScrollDelta(dropLocation:DropLocation, elapsedTime:Number):Point
Calculates how much to scroll for the specified dropLocation
during a drag and drop gesture. | LayoutBase | ||
calculateDropIndex(x:Number, y:Number):int
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 | ||
calculateDropIndicatorBounds(dropLocation:DropLocation):Rectangle
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 | ||
getElementBoundsAboveScrollRect(scrollRect:Rectangle):Rectangle
Returns the bounds of the first layout element that either spans or
is above the scrollRect's top edge. | LayoutBase | ||
getElementBoundsBelowScrollRect(scrollRect:Rectangle):Rectangle
Returns the bounds of the first layout element that either spans or
is below the scrollRect's bottom edge. | LayoutBase | ||
getElementBoundsLeftOfScrollRect(scrollRect:Rectangle):Rectangle
Returns the bounds of the first layout element that either spans or
is to the left of the scrollRect's left edge. | LayoutBase | ||
getElementBoundsRightOfScrollRect(scrollRect:Rectangle):Rectangle
Returns the bounds of the first layout element that either spans or
is to the right of the scrollRect's right edge. | LayoutBase | ||
getScrollRect():Rectangle
Returns the bounds of the target's scroll rectangle in layout coordinates. | LayoutBase | ||
layoutContent(unscaledWidth:Number, unscaledHeight:Number):void
Lays out the elements of the layout target using the current
widths and heights of the columns and rows. | ConstraintLayout | ||
measureAndPositionColumnsAndRows(constrainedWidth:Number, constrainedHeight:Number):void
Used by FormItemLayout to measure and set new column widths
and row heights before laying out the elements. | ConstraintLayout | ||
scrollPositionChanged():void
Called when the verticalScrollPosition or
horizontalScrollPosition properties change. | LayoutBase |
constraintColumns | property |
constraintColumns:Vector.<ConstraintColumn>
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 1.5 |
A Vector of ConstraintColumn instances that partition the target container. The ConstraintColumn instance at index 0 is the left-most column; indices increase from left to right.
public function get constraintColumns():Vector.<ConstraintColumn>
public function set constraintColumns(value:Vector.<ConstraintColumn>):void
constraintRows | property |
constraintRows:Vector.<ConstraintRow>
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 1.5 |
A Vector of ConstraintRow instances that partition the target container. The ConstraintRow instance at index 0 is the top-most column; indices increase from top to bottom.
public function get constraintRows():Vector.<ConstraintRow>
public function set constraintRows(value:Vector.<ConstraintRow>):void
ConstraintLayout | () | Constructor |
public function ConstraintLayout()
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 1.5 |
Constructor.
layoutContent | () | method |
protected function layoutContent(unscaledWidth:Number, unscaledHeight:Number):void
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 1.5 |
Lays out the elements of the layout target using the current widths and heights of the columns and rows. Used by FormItemLayout after setting new column widths to lay elements using those new widths.
Parameters
unscaledWidth:Number — Specifies the width of the component, in pixels,
in the component's coordinates, regardless of the value of the
scaleX property of the component.
| |
unscaledHeight:Number — Specifies the height of the component, in pixels,
in the component's coordinates, regardless of the value of the
scaleY property of the component.
|
measureAndPositionColumnsAndRows | () | method |
protected function measureAndPositionColumnsAndRows(constrainedWidth:Number, constrainedHeight:Number):void
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4.5 |
Runtime Versions : | Flash Player 10, AIR 1.5 |
Used by FormItemLayout to measure and set new column widths and row heights before laying out the elements.
Parameters
constrainedWidth:Number (default = NaN ) — The total width available for columns to stretch
or shrink their percent width columns. If NaN, percent width columns
are unconstrained and fit to their content.
| |
constrainedHeight:Number (default = NaN ) — The total height available for rows to stretch
or shrink their percent height rows. If NaN, percent height rows
are unconstrained and fit to their content.
|