Listas e layouts flexíveis

*Este conteúdo é traduzido por IA (Beta) e pode conter erros. Para ver a página em inglês, clique aqui.

O UIListLayout posiciona os objetos irmãos GuiObjects em linhas horizontais ou colunas verticais dentro de seu contêiner pai. Sempre que você adiciona ou remove um objeto irmão, o layout se ajusta conforme necessário.

Direção de preenchimento

A propriedade FillDirection determina a direção em que os irmãos do layout de lista serão renderizados.

UIListLayouts ilustrando a FillDirection como sendo horizontal ou vertical.

A ordenação é determinada pela propriedade SortOrder do layout, que pode ser numérica ascendente, com base no valor inteiro LayoutOrder de cada item, ou alfanumérica com base no Name do item.

Exemplos de layout de lista ilustrando a ordenação numérica de LayoutOrder ou a ordenação alfanumérica de Nome.

Alinhamento

As propriedades HorizontalAlignment e VerticalAlignment determinam o respectivo alinhamento X e Y dos irmãos da lista em relação uns aos outros e aos limites gerais da lista dentro do seu contêiner. Por exemplo, uma lista preenchida horizontalmente com VerticalAlignment de Center alinha centralmente os irmãos da lista entre si e centraliza a lista verticalmente em seu contêiner.

Layout de lista ilustrando o VerticalAlignment de Centro.

Quebra de linha

A propriedade Wraps controla se os irmãos dentro do contêiner pai irão quebrar para outra linha quando seu tamanho padrão exceder a largura/altura dos limites do contêiner.

Diagrama mostrando como Wraps afeta a distribuição dos irmãos dentro dos limites do contêiner pai.

Preenchimento

A propriedade Padding determina a quantidade de espaço vazio entre cada item de lista, definido como uma escala (porcentagem do tamanho do contêiner na direção atual) ou um offset (valor de espaçamento estático semelhante ao tamanho em pixels).

Layouts flexíveis

Integrar flex em um UIListLayout é uma maneira poderosa de preencher/distribuir igualmente ou alinhar/esticar itens da lista ao longo de sua linha, ou flexionar itens específicos em um espaço variável.

Preenchimento ou distribuição igual

Quando a direção de preenchimento do layout de lista está definida como Horizontal, a propriedade HorizontalFlex especifica como distribuir o espaço horizontal extra no contêiner pai. Da mesma forma, quando a direção de preenchimento está definida como Vertical, a propriedade VerticalFlex especifica como distribuir o espaço vertical extra.

Exemplos de UIListLayout mostrando como cada opção de HorizontalFlex afeta o tamanho e o espaçamento dos objetos UI irmãos.

Uma aplicação prática de HorizontalFlex é uma interface de janela com abas onde o flex preenche a barra de abas igualmente, independentemente do número de abas. Nenhuma abordagem é mais fácil do que o flex nesse caso, pois ele calcula automaticamente a largura de cada aba sem configurações de largura definidas pelo desenvolvedor e se ajusta automaticamente se o número de abas mudar.

Alinhamento de linha de item

A propriedade ItemLineAlignment define o alinhamento cross‑directional dos irmãos dentro de uma linha, permitindo que você alinhe objetos de diferentes larguras/alturas ou faça objetos de largura/altura menor preencherem toda a sua linha.

Exemplos de opções para ItemLineAlignment em uma direção de preenchimento horizontal.

Um caso de uso prático para ItemLineAlignment é esticar uma série de azulejos de tamanhos inconsistentes para preencher toda a sua linha (Stretch), tornando o layout mais coeso.

Azelujes com alturas de conteúdo variadas resultam em um layout irregular e escalonado

Flexionar itens individuais

Embora flexionar um layout inteiro seja uma utilidade poderosa, certos layouts são mais adequados para flexão de itens individuais. Em tais layouts, alguns elementos na lista mantêm seu tamanho principal enquanto outros itens se flexionam para preencher espaços variáveis. Um uso prático é um widget de barra deslizante com rótulos uniformes labels em ambas as extremidades e uma barra deslizante flexível que preenche toda a largura entre.

Exemplo de UIFlexItem aplicado a um GuiObject específico sob o controle de um UIListLayout.

Para definir um item específico da lista como flexível, insira um UIFlexItem como um filho do item flexível, em seguida, defina sua propriedade FlexMode como Fill, Grow, Shrink, ou Custom.

Hierarquia de exemplo de um UIFlexItem parentado a um GuiObject sob o controle de um UIListLayout.
©2026 Roblox Corporation, Roblox, o logotipo Roblox e Powering Imagination estão entre nossas marcas registradas e não registradas nos EUA e em outros países.