Positions items as tiles (all items have equal dimensions) in one or more rows, creating new pages as the view port bounds are filled.

Events:

openfl.events.Event.CHANGE

Dispatched when a property of the layout changes, which triggers the container to invalidate.

Available since

1.0.0

.

See also:

Constructor

@:value({ pageDirection : HORIZONTAL })new(pageDirection:Direction = HORIZONTAL)

Creates a new PagedTiledRowsListLayout object.

Available since

1.0.0

.

Variables

@:bindable("change")alignEmptyHorizontalTiles:Bool

Indicates if empty tiles should be included when positioning items with the horizontalAlign property. For instance, if the requestedColumnCount is 3, but the total number of tiles in a row is 2, that row can be aligned as if it contained all 3 items.

Available since

1.0.0

.

See also:

@:bindable("change")alignEmptyVerticalTiles:Bool

Indicates if empty tiles should be included when positioning items with the verticalAlign property. For instance, if the requestedRowCount is 3, but the total number of actual rows is 2, the rows will be aligned as if there were 3 items.

Available since

1.0.0

.

See also:

@:bindable("change")horizontalAlign:HorizontalAlign

How each row is positioned horizontally (along the x-axis) within the container.

Note: The HorizontalAlign.JUSTIFY constant is not supported by this layout.

The following example aligns each row's content to the right:

layout.horizontalAlign = RIGHT;
Available since

1.0.0

.

See also:

@:bindable("change")horizontalGap:Float

The horizontal space, in pixels, between each two adjacent items in the layout.

If the horizontalGap is set to Math.POSITIVE_INFINITY, the items will be positioned as far apart as possible. In this case, the horizontal gap will never be smaller than minHorizontalGap.

In the following example, the layout's horizontal gap is set to 20 pixels:

layout.horizontalGap = 20.0;
Available since

1.0.0

.

@:bindable("change")minHorizontalGap:Float

If the value of the horizontalGap 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 horizontal gap will not be smaller than the value of the minHorizontalGap property.

In the following example, the layout's horizontal gap is set to 4 pixels:

layout.minHorizontalGap = 4.0;
Available since

1.0.0

.

@:bindable("change")minVerticalGap:Float

If the value of the verticalGap 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 vertical gap will not be smaller than the value of the minVerticalGap property.

In the following example, the layout's vertical gap is set to 4 pixels:

layout.minVerticalGap = 4.0;
Available since

1.0.0

.

@:bindable("change")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;
Available since

1.0.0

.

@:bindable("change")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;
Available since

1.0.0

.

@:bindable("change")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;
Available since

1.0.0

.

@:bindable("change")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;
Available since

1.0.0

.

@:bindable("change")pageDirection:Direction

Indicates if pages are positioned horizontally or vertically.

The following example sets the page direction to vertical:

layout.pageDirection = VERTICAL;
Available since

1.0.0

.

See also:

@:bindable("change")requestedColumnCount:Null<Int>

The exact number of columns to render, if space allows. If set to null, the number of columns will be the total number of items that can be displayed within the container's width.

In the following example, the layout's requested column count is set to 2 items:

layout.requestedColumnCount = 2;
Available since

1.0.0

.

See also:

@:bindable("change")requestedMaxColumnCount:Null<Int>

The maximum number of columns to render, if space allows. If set to null, the maximum number of columns will be the total number of items that can be displayed within the container's width.

If requestedColumnCount is also set, this property is ignored.

In the following example, the layout's requested maximum column count is set to 5 items:

layout.requestedMaxColumnCount = 5.0;
Available since

1.0.0

.

See also:

@:bindable("change")requestedMaxRowCount:Null<Int>

The maximum number of rows to render, if the height of the container has not been set explicitly. If null, the maximum number of rows is the total number of items displayed by the layout.

If requestedRowCount is also set, this property is ignored.

In the following example, the layout's requested maximum row count is set to 5 complete items:

layout.requestedMaxRowCount = 5.0;
Available since

1.0.0

.

@:bindable("change")requestedMinColumnCount:Null<Int>

The minimum number of columns to render, if space allows. If set to null, the minimum number of columns will be 1.

If requestedColumnCount is also set, this property is ignored.

In the following example, the layout's requested minimum column count is set to 3 items:

layout.requestedMinColumnCount = 3;
Available since

1.0.0

.

See also:

@:bindable("change")requestedMinRowCount:Null<Int>

The minimum number of rows to render, if the height of the container has not been set explicitly. If null, this property is ignored.

If requestedRowCount is also set, this property is ignored.

In the following example, the layout's requested minimum row count is set to 2 complete items:

layout.requestedMinRowCount = 2.0;
Available since

1.0.0

.

@:bindable("change")requestedRowCount:Null<Int>

The exact number of rows to render, if the height of the container has not been set explicitly. If null, falls back to requestedMinRowCount and requestedMaxRowCount.

In the following example, the layout's requested row count is set to 2 complete items:

layout.requestedRowCount = 2.0;
Available since

1.0.0

.

@:bindable("change")verticalAlign:VerticalAlign

How the content is positioned vertically (along the y-axis) within the container. If the total height of the content is larger than the available height within the container, then the positioning of the items will always start from the top.

Note: The VerticalAlign.JUSTIFY constant is not supported by this layout.

The following example aligns the container's content to the bottom:

layout.verticalAlign = BOTTOM;
Available since

1.0.0

.

See also:

@:bindable("change")verticalGap:Float

The vertical space, in pixels, between each two adjacent items in the layout.

In the following example, the layout's vertical gap is set to 20 pixels:

layout.verticalGap = 20.0;
Available since

1.0.0

.

Methods

findNextKeyboardIndex(startIndex:Int, event:KeyboardEvent, wrapArrowKeys:Bool, items:Array<DisplayObject>, indicesToSkip:Array<Int>, viewPortWidth:Float, viewPortHeight:Float):Int

getNearestScrollPositionForIndex(index:Int, itemCount:Int, width:Float, height:Float, ?result:Point):Point

getSnapPositionsX(items:Array<DisplayObject>, viewPortWidth:Float, viewPortHeight:Float, ?result:Array<Float>):Array<Float>

getSnapPositionsY(items:Array<DisplayObject>, viewPortWidth:Float, viewPortHeight:Float, ?result:Array<Float>):Array<Float>

layout(items:Array<DisplayObject>, measurements:Measurements, ?result:LayoutBoundsResult):LayoutBoundsResult

setGap(value:Float):Void

Sets both horizontal and vertical gap properties to the same value.

Available since

1.0.0

.

See also: