Skip to content

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

属性 ​

名称类型默认值说明
FillDirectionEUIFillDirectionEnums.EUIFillDirection.Horizontal指定网格单元依次填充的方向,取值来自 Enums.EUIFillDirection 枚举。
AutoLayoutBooltrue控制 EUIGridLayout 是否启用自动布局。开启后,容器内的子节点会按照本实例配置的网格规则自动排列。
CellSizeVector2[100, 100]设置网格中每个单元的尺寸,以 Vector2 表示单元的宽与高。
CellPaddingVector2[0, 0]设置网格中相邻单元之间的间距,以 Vector2 表示水平与垂直两个方向的间距值。
FillDirectionMaxCellsInt0限制填充方向上单行或单列最多容纳的单元数量,取整数。
StartCornerEUIGridStartCornerEnums.EUIGridStartCorner.TopLeft指定网格填充的起始角落,取值来自 Enums.EUIGridStartCorner 枚举。
SortOrderEUISortOrderTypeEnums.EUISortOrderType.LayoutOrder指定网格内子节点排列时采用的排序依据,取值来自 Enums.EUISortOrderType 枚举。
HorizontalAlignmentEUIHorizontalAlignmentEnums.EUIHorizontalAlignment.Left设置网格整体在水平方向上的对齐方式,取值来自 Enums.EUIHorizontalAlignment 枚举。
VerticalAlignmentEUIVerticalAlignmentEnums.EUIVerticalAlignment.Top设置网格整体在垂直方向上的对齐方式,取值来自 Enums.EUIVerticalAlignment 枚举。
AutomaticSizeBoolfalse控制 EUIGridLayout 是否根据子节点数量自动扩展容器尺寸。