网格和表格布局

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

UIListLayoutUIGridLayoutUITableLayout 相比,允许更加有序和组织的布局。这些最适合像商店库存这样的界面,每个项目可以被呈现在相同大小的网格上,或者项目可以被排序到相关的行/列。

网格布局

UIGridLayout 位置兄弟 GuiObjects 在父容器内的相同尺寸的单元网格内。细胞由行或列按布局的 FillDirection 添加,直到下一细胞不适合,然后开始新的行或列。为了进一步控制,您可以使用 FillDirectionMaxCells 属性来设置每行或列的最大数量细胞。

默认情况下,UIGridLayout位置兄弟GuiObjects在他们的LayoutOrder位置排序中,低值排在高值之前,等值排序取决于你添加它们的顺序。如果你将布局的 SortOrder 更改为 Enum.SortOrder.Name,兄弟姐妹按字母顺序排序。

表格布局

UITableLayout 位置兄弟 GuiObjects 和他们的孩子转换为表格格式。默认值 FillDirectionVertical 意味着兄弟姐妹首先被放置在行中,其子女的位置被放置在横向形成栏中,使每个行内的每个细胞都有相同的高度,每个栏内的每个细胞都有相同的宽度。

这个模式模仿了标准 HTML 行/列结构:


<table>
<tbody>
<tr>
<!-- Row1 -->
<td>Label 1</td> <!-- TextLabel1 -->
<td>Label 2</td> <!-- TextLabel2 -->
<td>Label 3</td> <!-- TextLabel3 -->
</tr>
<tr>
<!-- Row2 -->
<td>Label 4</td> <!-- TextLabel4 -->
<td>Label 5</td> <!-- TextLabel5 -->
<td>Label 6</td> <!-- TextLabel6 -->
</tr>
<tr>
<!-- Row3 -->
<td>Label 7</td> <!-- TextLabel7 -->
<td>Label 8</td> <!-- TextLabel8 -->
<td>Label 9</td> <!-- TextLabel9 -->
</tr>
</tbody>
</table>

除非您启用布局的 FillEmptySpaceColumnsFillEmptySpaceRows 属性,否则兄弟的 GuiObjects 大小决定了细胞的尺寸。例如,大小为 TextLabelUDim2.new(0.25, 0, 0.1, 0) 会在父容器内创建 25% 宽度和 10% 高度的表单细胞。