Package | spark.layouts |
Class | public class BasicLayout |
Inheritance | BasicLayout LayoutBase OnDemandEventDispatcher Object |
Language Version : | ActionScript 3.0 |
Product Version : | Flex 4 |
Runtime Versions : | Flash Player 10, AIR 1.5 |
x
and y
properties of the child,
or constraints to position each child.
Note: The Spark list-based controls (the Spark List control and its subclasses such as ButtonBar, ComboBox, DropDownList, and TabBar) do not support the BasicLayout class. Do not use BasicLayout with the Spark list-based controls.
Per-element supported constraints are left
, right
,
top
, bottom
, horizontalCenter
,
verticalCenter
, baseline
, percentWidth
, and percentHeight
.
Element's minimum and maximum sizes will always be respected.
The measured size of the container is calculated from the elements, their constraints and their preferred sizes. The measured size of the container is big enough to fit in all of the elements at their preferred sizes with their constraints satisfied.
Here are some examples of how measured size is calculated:
left
constraint specified,
then the container's measured width will be equal to the element's preferred
width plus the value of the left
constraint.percentWidth
specified,
then the container's measured width will be equal to the element's preferred width.
Even though the element's percentWidth
is not directly factored in the calculations,
it will be respected during a call to the updateDisplayList()
method.baseline
constraint specified,
then the container's measured height will be equal to the element's preferred height
plus the baseline
and minus the value of the element's baselinePosition
property.verticalCenter
constraint specified,
then the container's measured height will be equal to the element's preferred height
plus double the value of the verticalCenter
constraint.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 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 BasicLayout class calculates its minimum size as the maximum of the minimum child sizes:
Therefore, if a child is constrained to its parent, then the layout uses the child's minimum size. Otherwise, it uses its preferred size of the child to calculate the minimum size for the container.
The element's position is determined according to the rules in the following order of precedence:
horizontalCenter
or verticalCenter
constraints
specify the distance between the container's center and the element's center.
Set the horizontalCenter
or verticalCenter
constraints
to zero to center the element within the container in
the horizontal or vertical direction.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.
MXML SyntaxHide MXML SyntaxThe <s:BasicLayout>
tag inherits all of the tag
attributes of its superclass and adds no additional tag attributes:
<s:BasicLayout/>
Method | Defined By | ||
---|---|---|---|
Constructor. | BasicLayout | ||
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 |