列表和柔性布局

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

UIListLayout 位置的兄弟 GuiObjects 轉換為父容器內的水平行或垂直列。每當你添加或移除一個兄弟物件時,布局都會相應地調整。

填充方向

FillDirection 屬性決定列布局的子弟會成像的方向。

UIListLayouts illustrating FillDirection of either horizontal or vertical.

訂購由布局的 SortOrder 屬性決定,該屬性可以是 上升的數字值 ,基於每個道具目的 LayoutOrder 整數值,或 字母數字值 基於道具目的 Name

List layout examples illustrating numerical LayoutOrder sorting or alphanumerical Name sorting.

對齊

HorizontalAlignmentVerticalAlignment 屬性決定列表中兄弟對彼此和容器內列表整體邊界的相對 XY 對齊。例如,橫向填充列表 包含 的中心對齊列表的兄弟,並將列表垂直中心在容器中。

List layout illustrating VerticalAlignment of Center.

包裝

父容器內的子控件是否使用 Wraps 布局其默認尺寸超出容器邊界寬度/高度時,是否切換到另一行。

Diagram showing how Wraps affects how siblings are distributed within the parent container's bounds.

填充

Padding 屬性決定每個列道具之間的空白量 **** ,設為比例(容器尺寸在當前方向的百分比)或偏移(像像素尺寸相似的靜態間隔值)。

柔性布局

flex 整合到 UIListLayout 中是一種強大的方式來平等地填充/分配對齊/伸展列項沿其線或變量空間上的 flex 特定項目

相等填充或分配

當列布局的 填充方向 設為 Horizontal 時,HorizontalFlex 屬性指定如何在父容器中分配額外的水平空間。同樣地,當填充方向設為 Vertical 時,VerticalFlex 屬性指定如何分配額外的垂直空間。

UIListLayout examples showing how each HorizontalFlex option affects the size and spacing of sibling UI objects.

一個實用的使用 HorizontalFlex 是一個 標籤窗口 介面,在此介面中,flex 以相同的數量填滿標籤欄,無論標籤數量如何。在這種情況下,沒有比伸展更簡單的方法,因為它會自動計算每個標籤的寬度,而不是由開發者定義的寬度設置,並自動調整標籤數量的變化。

項目線對齊

ItemLineAlignment定義了線上兄弟的 交叉方向 對齊,讓你對不同寬度/高度的對象進行對齊或使寬度/高度較小的對象填滿整個線。

Examples of options for ItemLineAlignment in a horizontal fill direction.

一個實用的情況是,ItemLineAlignment 對一系列不同尺寸的瓷磚進行伸展,以填滿整排(Stretch),使布局更加一致。

不同內容高度的瓷磚會導致不平均和分散的布局

柔性個別項目

雖然伸展整個布局是一種強大的工具,但某些布局更適合伸展 個別項目 。在這些佈局中,列表中的某些元素會保持核心尺寸,其他項目會靈活地填滿變量空間。一個實用的使用是帶有一致標籤的滑塊條 Widget,在兩端和中間的整個寬度都填滿了一個可調整的滑塊條。

Example of UIFlexItem applied to a specific GuiObject under control of a UIListLayout.

要設置一個特定列項為可彈性,請插入 UIFlexItem 作為彈性項道具的子,然後將其 FlexMode 屬性設置為 Fill , Grow , ShrinkCustom .

Example hierarchy of a UIFlexItem parented to a GuiObject under control of a UIListLayout.