主题
EUIGridLayout
EUIGridLayout 是用于把界面子节点按网格形式排列的布局容器,提供 FillDirection、CellSize、CellPadding、FillDirectionMaxCells、StartCorner 等配置项决定单元的排列方...
概览
EUIGridLayout 是用于把界面子节点按网格形式排列的布局容器,提供 FillDirection、CellSize、CellPadding、FillDirectionMaxCells、StartCorner 等配置项决定单元的排列方向、尺寸与间距,并通过 SortOrder、HorizontalAlignment、VerticalAlignment、AutoLayout、AutomaticSize 控制排序依据、对齐方式与自动扩容行为。属性调整之后调用 ApplyLayout 即可让网格布局刷新到子节点上。
继承自
EUINodeBase;可通过World:CreateUnit("EUIGridLayout", ...)创建;返回单个单位
函数
ApplyLayout
签名:ApplyLayout()
按照 EUIGridLayout 实例当前配置的布局属性(单元尺寸、间距、填充方向、对齐方式等)重新排列子节点,使布局立即生效。
重新计算网格布局
lua
-- @runtime client
local function refreshGrid(grid)
if grid == nil then return end
grid:ApplyLayout()
end属性
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
FillDirection | EUIFillDirection | Enums.EUIFillDirection.Horizontal | 指定网格单元依次填充的方向,取值来自 Enums.EUIFillDirection 枚举。 |
AutoLayout | Bool | true | 控制 EUIGridLayout 是否启用自动布局。开启后,容器内的子节点会按照本实例配置的网格规则自动排列。 |
CellSize | Vector2 | [100, 100] | 设置网格中每个单元的尺寸,以 Vector2 表示单元的宽与高。 |
CellPadding | Vector2 | [0, 0] | 设置网格中相邻单元之间的间距,以 Vector2 表示水平与垂直两个方向的间距值。 |
FillDirectionMaxCells | Int | 0 | 限制填充方向上单行或单列最多容纳的单元数量,取整数。 |
StartCorner | EUIGridStartCorner | Enums.EUIGridStartCorner.TopLeft | 指定网格填充的起始角落,取值来自 Enums.EUIGridStartCorner 枚举。 |
SortOrder | EUISortOrderType | Enums.EUISortOrderType.LayoutOrder | 指定网格内子节点排列时采用的排序依据,取值来自 Enums.EUISortOrderType 枚举。 |
HorizontalAlignment | EUIHorizontalAlignment | Enums.EUIHorizontalAlignment.Left | 设置网格整体在水平方向上的对齐方式,取值来自 Enums.EUIHorizontalAlignment 枚举。 |
VerticalAlignment | EUIVerticalAlignment | Enums.EUIVerticalAlignment.Top | 设置网格整体在垂直方向上的对齐方式,取值来自 Enums.EUIVerticalAlignment 枚举。 |
AutomaticSize | Bool | false | 控制 EUIGridLayout 是否根据子节点数量自动扩展容器尺寸。 |
