class HorizontalListLayout
package feathers.layout
extends EventDispatcher
implements IDragDropLayout, IKeyboardNavigationLayout, IVirtualLayout
A simple list layout that positions items from left to right, in a single row, where every item fills the entire height of the container.
Events:
openfl.events.Event.CHANGE | Dispatched when a property of the layout changes, which triggers the container to invalidate. |
---|
1.0.0
.Constructor
Variables
contentJustify:Bool
When contentJustify
is true
, the height of the items is set to
either the explicit height of the container, or the maximum height of
all items, whichever is larger. When false
, the height of the items
is set to the explicit height of the container, even if the items are
measured to be larger.
1.0.0
.gap:Float
The space, in pixels, between each two adjacent items in the layout.
If the gap
is set to Math.POSITIVE_INFINITY
, the items will be
positioned as far apart as possible. In this case, the gap will never be
smaller than minGap
.
In the following example, the layout's gap is set to 20 pixels:
layout.gap = 20.0;
1.0.0
.heightResetEnabled:Bool
Indicates if the height of items should be reset if the explicit height of the parent container is not set.
1.0.0
.horizontalAlign:HorizontalAlign
How the content is positioned horizontally (along the x-axis) within the container. If the total width of the content is larger than the available width within the container, then the positioning of the items will always start from the left.
Note: The HorizontalAlign.JUSTIFY
constant is not supported by this
layout.
The following example aligns the container's content to the right:
layout.horizontalAlign = RIGHT;
1.0.0
.See also:
minGap:Float
If the value of the gap
property is Math.POSITIVE_INFINITY
, meaning
that the gap will fill as much space as possible and position the items
as far from each other as they can go without going outside of the view
port bounds, the final calculated value of the gap will not be smaller
than the value of the minGap
property.
In the following example, the layout's minimum gap is set to 4 pixels:
layout.minGap = 4.0;
1.0.0
.paddingBottom:Float
The space, in pixels, between the parent container's bottom edge and its content.
In the following example, the layout's bottom padding is set to 20 pixels:
layout.paddingBottom = 20.0;
1.0.0
.paddingLeft:Float
The space, in pixels, between the parent container's left edge and its content.
In the following example, the layout's left padding is set to 20 pixels:
layout.paddingLeft = 20.0;
1.0.0
.paddingRight:Float
The space, in pixels, between the parent container's right edge and its content.
In the following example, the layout's right padding is set to 20 pixels:
layout.paddingRight = 20.0;
1.0.0
.paddingTop:Float
The space, in pixels, between the parent container's top edge and its content.
In the following example, the layout's top padding is set to 20 pixels:
layout.paddingTop = 20.0;
1.0.0
.requestedColumnCount:Null<Float>
The exact number of columns to render, if the width of the container has
not been set explicitly. If null
, falls back to
requestedMinColumnCount
and requestedMaxColumnCount
.
In the following example, the layout's requested column count is set to 2 complete items:
layout.requestedColumnCount = 2.0;
1.0.0
.requestedMaxColumnCount:Null<Float>
The maximum number of columns to render, if the width of the container
has not been set explicitly. If null
, the maximum number of columns is
the total number of items displayed by the layout.
If requestedColumnCount
is also set, this property is ignored.
In the following example, the layout's requested maximum column count is set to 5 complete items:
layout.requestedMaxColumnCount = 5.0;
1.0.0
.requestedMinColumnCount:Null<Float>
The minimum number of columns to render, if the width of the container
has not been set explicitly. If null
, this property is ignored.
If requestedColumnCount
is also set, this property is ignored.
In the following example, the layout's requested minimum coumn count is set to 2 complete items:
layout.requestedMinColumnCount = 2.0;
1.0.0
.Methods
findNextKeyboardIndex(startIndex:Int, event:KeyboardEvent, wrapArrowKeys:Bool, items:Array<DisplayObject>, indicesToSkip:Array<Int>, viewPortWidth:Float, viewPortHeight:Float):Int
getDragDropIndex(items:Array<DisplayObject>, x:Float, y:Float, width:Float, height:Float):Int
getDragDropRegion(items:Array<DisplayObject>, dropIndex:Int, x:Float, y:Float, width:Float, height:Float, ?result:Rectangle):Rectangle
getNearestScrollPositionForIndex(index:Int, itemCount:Int, width:Float, height:Float, ?result:Point):Point
getVisibleIndices(itemCount:Int, width:Float, height:Float, ?result:VirtualLayoutRange):VirtualLayoutRange
layout(items:Array<DisplayObject>, measurements:Measurements, ?result:LayoutBoundsResult):LayoutBoundsResult
See also:
setPadding(value:Float):Void
Sets all four padding properties to the same value.
1.0.0
.See also: