Danh sách và bố cục linh hoạt

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

UIListLayout định vị các đối tượng GuiObjects đồng cấp thành các hàng ngang hoặc cột dọc trong container cha của chúng. Mỗi khi bạn thêm hoặc gỡ bỏ một đối tượng đồng cấp, bố cục sẽ điều chỉnh theo.

Hướng lấp đầy

Thuộc tính FillDirection xác định hướng mà các đối tượng đồng cấp của bố cục danh sách sẽ được hiển thị.

Các UIListLayouts minh họa FillDirection theo chiều ngang hoặc chiều dọc.

Thứ tự được xác định bởi thuộc tính SortOrder của bố cục, có thể là tăng dần số dựa trên giá trị số nguyên LayoutOrder của mỗi mục, hoặc đệ quy dựa trên Name của mục.

Các ví dụ về bố cục danh sách minh họa thứ tự sắp xếp LayoutOrder theo số hoặc sắp xếp theo tên đệ quy.

Căn chỉnh

Thuộc tính HorizontalAlignmentVerticalAlignment xác định căn chỉnh XY tương ứng của cả các đối tượng đồng cấp trong danh sách liên quan đến nhau và phạm vi tổng thể của danh sách trong container của nó. Ví dụ, một danh sách được lấp đầy theo chiều ngang với VerticalAlignmentCenter sẽ căn giữa các đối tượng đồng cấp trong danh sách với nhau căn giữa danh sách theo chiều dọc trong container của nó.

Bố cục danh sách minh họa VerticalAlignment của Center.

Bọc

Biến boolean Wraps điều khiển xem các đối tượng đồng cấp trong container cha có được bao bọc sang hàng khác khi kích thước mặc định của chúng vượt quá chiều rộng/chiều cao của phạm vi container hay không.

Sơ đồ cho thấy cách Wraps ảnh hưởng đến cách các đối tượng đồng cấp được phân phối trong phạm vi của container cha.

Đệm

Thuộc tính Padding xác định lượng khoảng trống trống giữa mỗi mục trong danh sách, được đặt thành một tỷ lệ (phần trăm kích thước của container trong hướng hiện tại) hoặc một offset (giá trị khoảng trống tĩnh tương tự như kích thước pixel).

Bố cục linh hoạt

Việc tích hợp linh hoạt vào UIListLayout là một cách mạnh mẽ để lấp đầy/phân phối đều hoặc căn chỉnh/kéo dài các mục trong danh sách qua dòng của chúng, hoặc làm linh hoạt các mục cụ thể qua một không gian có biến.

Lấp đầy hoặc phân phối đều

Khi hướng lấp đầy của bố cục danh sách được đặt thành Horizontal, thuộc tính HorizontalFlex xác định cách phân phối không gian chiều ngang thừa trong container cha. Tương tự, khi hướng lấp đầy được đặt thành Vertical, thuộc tính VerticalFlex xác định cách phân phối không gian chiều dọc thừa.

Các ví dụ về UIListLayout cho thấy cách mỗi tùy chọn HorizontalFlex ảnh hưởng đến kích thước và khoảng cách của các đối tượng UI đồng cấp.

Một ứng dụng thực tiễn của HorizontalFlex là giao diện cửa sổ có tab nơi flex điền đều thanh tab, bất kể số lượng tab. Không có phương pháp nào dễ hơn flex trong trường hợp này, vì nó tự động tính toán chiều rộng của mỗi tab mà không cần cài đặt chiều rộng do nhà phát triển xác định, và tự động điều chỉnh nếu số lượng tab thay đổi.

Căn chỉnh dòng mục

Thuộc tính ItemLineAlignment xác định căn chỉnh theo chiều xuyên của các đối tượng đồng cấp trong một dòng, cho phép bạn căn chỉnh các đối tượng có chiều rộng/chiều cao khác nhau hoặc làm cho các đối tượng có chiều rộng/chiều cao nhỏ hơn lấp đầy toàn bộ dòng của chúng.

Các ví dụ về các tùy chọn cho ItemLineAlignment trong hướng lấp đầy theo chiều ngang.

Một trường hợp sử dụng thực tiễn cho ItemLineAlignment là kéo dài một loạt các gạch lát kích thước không đồng nhất để lấp đầy toàn bộ hàng của chúng (Stretch), làm cho bố cục trở nên đồng bộ hơn.

Gạch lát có chiều cao nội dung khác nhau dẫn đến một bố cục không đồng đều và lệch nhau

Làm linh hoạt các mục riêng lẻ

Trong khi làm linh hoạt một toàn bộ bố cục là một tiện ích mạnh mẽ, một số bố cục thích hợp hơn cho các mục linh hoạt riêng lẻ. Trong các bố cục như vậy, một số phần tử trong danh sách duy trì kích thước cốt lõi của chúng trong khi các mục khác làm linh hoạt để lấp đầy không gian biến đổi. Một ứng dụng thực tế là một tiện ích thanh trượt với nhãn đồng nhất ở cả hai đầu và một thanh trượt linh hoạt lấp đầy toàn bộ chiều rộng giữa.

Ví dụ về UIFlexItem áp dụng cho một GuiObject cụ thể dưới sự kiểm soát của một UIListLayout.

Để đặt một mục danh sách cụ thể là linh hoạt, chèn một UIFlexItem làm con của mục linh hoạt, sau đó đặt thuộc tính FlexMode của nó thành Fill, Grow, Shrink, hoặc Custom.

Ví dụ về cấu trúc của một UIFlexItem được cấp cho một GuiObject dưới sự kiểm soát của một UIListLayout.
©2026 Roblox Corporation. Roblox, logo Roblox và Powering Imagination là các nhãn hiệu đã đăng ký và chưa đăng ký của chúng tôi tại Hoa Kỳ và các quốc gia khác.