Layout/Grouping
By nesting elements within layouts/groupings, you are able to easily group elements together in-game. It allows for adjusting/moving them together, uniform padding and additional visual flair possibilities.
Each layout element has its own attributes specific to its type. Additionally, elements within a layout are subject to common common layout element attributes .
Element Summary
Layout Summary
Element Name
Description
<Panel></Panel>
A "window" in which elements can be confined.
<HorizontalLayout></HorizontalLayout>
A horizontal row of elements.
<VerticalLayout></VerticalLayout>
A vertical column of elements.
<GridLayout></GridLayout>
A grid of elements.
<TableLayout></TableLayout>
A layout element based on HTML tables, allowing you to specify the position of elements in specific rows/columns.
<Row></Row>
A row within a TableLayout.
<Cell></Cell>
A cell within a TableLayout.
Element Name
Description
<HorizontalScrollView></HorizontalScrollView>
A scrollable horizontal row of elements.
<VerticalScrollView></VerticalScrollView>
A scrollable vertical column of elements.
Layout Element Details
Layout Details
Panel
A "window" in which elements can be confined.
Attribute Name
Description
Type / Options
Default Value
padding
Specifies the padding for this panel. Please note that if padding is specified, the panel will function as a LayoutGroup (which it does not do by default).
float(left) float(right) float(top) float(bottom)
(none)
<Panel>
<Text> Text contained within Panel</Text>
</Panel>
HorizontalLayout
A horizontal row of elements.
Attribute Name
Description
Type / Options
Default Value
padding
float(left) float(right) float(top) float(bottom)
0 0 0 0
spacing
Spacing between child elements.
float
0
childAlignment
UpperLeft UpperCenter UpperRight MiddleLeft MiddleCenter MiddleRight LowerLeft LowerCenter LowerRight
UpperLeft
childForceExpandWidth
true
childForceExpandHeight
true
<HorizontalLayout>
<Button> Button One</Button>
<Button> Button Two</Button>
<Button> Button Three</Button>
</HorizontalLayout>
VerticalLayout
A vertical column of elements.
Attribute Name
Description
Type / Options
Default Value
padding
float(left) float(right) float(top) float(bottom)
0 0 0 0
spacing
Spacing between child elements.
float
0
childAlignment
UpperLeft UpperCenter UpperRight MiddleLeft MiddleCenter MiddleRight LowerLeft LowerCenter LowerRight
UpperLeft
childForceExpandWidth
true
childForceExpandHeight
true
<VerticalLayout>
<Button> Button One</Button>
<Button> Button Two</Button>
<Button> Button Three</Button>
</VerticalLayout>
GridLayout
A grid of elements.
Attribute Name
Description
Type / Options
Default Value
padding
float(left) float(right) float(top) float(bottom)
0 0 0 0
spacing
Spacing between child elements
float(x) float(y)
0 0
cellSize
float(x) float(y)
100 100
startCorner
UpperLeft UpperRight LowerLeft LowerRight
UpperLeft
startAxis
Horizontal
childAlignment
UpperLeft UpperCenter UpperRight MiddleLeft MiddleCenter MiddleRight LowerLeft LowerCenter LowerRight
UpperLeft
constraint
Flexible FixedColumnCount FixedRowCount
Flexible
constraintCount
integer
2
<GridLayout>
<Button> Button One</Button>
<Button> Button Two</Button>
<Button> Button Three</Button>
</GridLayout>
TableLayout
A layout element based on HTML tables, allowing you to specify the position of elements in specific rows/columns.
Attribute Name
Description
Type / Options
Default Value
padding
float(left) float(right) float(top) float(bottom)
0 0 0 0
cellSpacing
Spacing between each cell.
float
0
columnWidths
(Optional) Explicitly set the width of each column. Use a value of 0 to auto-size a specific column.
float list - e.g. '32 0 0 32'
(none)
automaticallyAddColumns
If more cells are added to a row than are accounted for by columnWidths, should this TableLayout automatically add one or more new auto-sized entries (0) to columnWidths?
true
automaticallyRemoveEmptyColumns
If there are more entries in columnWidths than there are cells in any row, should this TableLayout automatically remove entries from columnWidths until their are no 'empty' columns?
true
autoCalculateHeight
If set to true, then the height of this TableLayout will automatically be calculated as the sum of each rows preferredHeight value. This option cannot be used without explicitly sized rows.
false
useGlobalCellPadding
If set to true, then all cells will use this TableLayout's cellPadding value.
true
cellPadding
Padding for each cell.
float(left) float(right) float(top) float(bottom)
0 0 0 0
cellBackgroundImage
Image to use as the background for each cell.
string
cellBackgroundColor
Color for each cells background.
rgba(1,1,1,0.4)
rowBackgroundImage
Image to use as the background for each row.
string
rowBackgroundColor
Color to use for each rows background.
clear
<TableLayout>
<!-- Row 1 -->
<Row>
<Cell><Button> Button One</Button></Cell>
<Cell><Button> Button Two</Button></Cell>
</Row>
<!-- Row 2 -->
<Row>
<Cell><Button> Button One</Button></Cell>
<Cell><Button> Button Three</Button></Cell>
</Row>
</TableLayout>
Row
A row within a TableLayout.
Attribute Name
Description
Type / Options
Default Value
preferredHeight
Sets the height for this row. Use a value of '0' to specify that this row should be auto-sized.
float
0
dontUseTableRowBackground
If set to true, then this row will ignore the tables' rowBackgroundImage and rowBackgroundColor values, allowing you to override those values for this row.
false
Cell
A cell within a TableLayout.
Attribute Name
Description
Type / Options
Default Value
columnSpan
__
int
1
dontUseTableCellBackground
If set to true, then this cell will ignore the tables' cellBackgroundImage and values, allowing you to override those values for this cell.
false
overrideGlobalCellPadding
If set to true, then this cell will ignore the tables' cellPadding value, allowing you to set unique cell padding for this cell.
false
padding
Padding values to use for this cell if overrideGlobalCellPadding is set to true.
float(left) float(right) float(top) float(bottom)
0 0 0 0
childForceExpandWidth
true
childForceExpandHeight
true
A scrollable horizontal row of elements. This is an input element .
A layout element such as a Panel, HorizontalLayout, GridLayout, or TableLayout can be used to position child elements within the Scroll View.
Attribute Name
Description
Type / Options
Default Value
onValueChanged
When a selection is made, its name is sent to a function with this name.
string
(none)
horizontal
true
vertical
false
movementType
Unrestricted Elastic Clamped
Clamped
elasticity
float
0.1
inertia
true
decelerationRate
float
0.135
scrollSensitivity
float
1
horizontalScrollbarVisibility
Permanent AutoHide AutoHideAndExpandViewport
AutoHide
verticalScrollbarVisibility
Permanent AutoHide AutoHideAndExpandViewport
(none)
noScrollbars
If set to true, then this scroll view will have no visible scrollbars.
false
scrollbarBackgroundColor
#FFFFFF
scrollbarColors
#FFFFFF|#FFFFFF|#C8C8C8|rgba(0.78,0.78,0.78,0.5)
scrollbarImage
string
<HorizontalScrollView>
<HorizontalLayout>
<Panel>
<Text> 1</Text>
</Panel>
<Panel>
<Text> 2</Text>
</Panel>
<Panel>
<Text> 3</Text>
</Panel>
<Panel>
<Text> 4</Text>
</Panel>
</HorizontalLayout>
</HorizontalScrollView>
A scrollable vertical column of elements. This is an input element .
A layout element such as a Panel, HorizontalLayout, GridLayout, or TableLayout can be used to position child elements within the Scroll View.
Attribute Name
Description
Type / Options
Default Value
onValueChanged
When a selection is made, its name is sent to a function with this name.
string
(none)
horizontal
false
vertical
true
movementType
Unrestricted Elastic Clamped
Clamped
elasticity
float
0.1
inertia
true
decelerationRate
float
0.135
scrollSensitivity
float
1
horizontalScrollbarVisibility
Permanent AutoHide AutoHideAndExpandViewport
(none)
verticalScrollbarVisibility
Permanent AutoHide AutoHideAndExpandViewport
AutoHide
noScrollbars
If set to true, then this scroll view will have no visible scrollbars.
false
scrollbarBackgroundColor
#FFFFFF
scrollbarColors
#FFFFFF|#FFFFFF|#C8C8C8|rgba(0.78,0.78,0.78,0.5)
scrollbarImage
string
<VerticalScrollView>
<VerticalLayout>
<Panel>
<Text> 1</Text>
</Panel>
<Panel>
<Text> 2</Text>
</Panel>
<Panel>
<Text> 3</Text>
</Panel>
<Panel>
<Text> 4</Text>
</Panel>
</VerticalLayout>
</VerticalScrollView>