Visão Geral

Nesta seção, você encontra mais informações sobre o posicionamento dos componentes na tela de um dispositivo usando Beagle.

Introdução

No Beagle, você terá de usar uma dependência chamada Yoga Layout para posicionar os componentes na tela da sua aplicação.

Para fazer isso, o Yoga faz os cálculos necessários para posicionar os elementos e, depois disso, faz a sua renderização.

Sobre o Yoga Layout

O Yoga é um framework Android e iOS desenvolvido pelo Facebook para posicionar views usando o conceito do Flexbox.

O Flexbox organiza os elementos dentro de containers de forma dinâmica para que, independente das dimensões da sua aplicação, você possa manter um layout flexível.

Alguns conceitos chave para entender o Flexbox são:

  • Main Axis: eixo horizontal
  • Cross Axis: eixo vertical
  • Main Size: tamanho da dimensão dos eixos.

No caso do Main Size, é possível ter 3 tipos diferentes de dimensões:

  1. Cross Size: Tamanho da dimensão cross axis.
  2. Main Start and Main End: Começo e o fim do main axis.
  3. Cross Start and Cross End: Começo e o fim do cross axis.

Estes eixos dependem do valor atribuído à propriedade flex-direction para definir a orientação dos elementos em tela.

Se esta propriedade receber o valor:

  • row ou row-reverse: o main axis do container será o horizontal e o cross axis será vertical.

Exemplo de yoga layout com row ou row-reverse

  • column ou column-reverse: o main axis do container será vertical e o cross axis será horizontal.

Exemplo de yoga layout com column ou column-reverse

Propriedades disponíveis

A partir do Yoga Layout, você pode utilizar as seguintes propriedades para inserir, alterar ou eliminar componentes em tela:

UnitValue

As propriedades Basis, Size, Margin, Padding e Position descritas acima recebem um UnitValue que espera um valorDoublee um UnitType, que é um enumcom as seguintes opções:

UnitTypeDefinição
REALAplica o valor Double
PERCENTAplica o valor Double em forma de percentual do tamanho do pai
AUTOSegue o valor do pai. Exceto quando possui tamanho próprio

Para as propriedades listadas abaixo, na Web, o default é UnitType.AUTO.

O UnitType.AUTO pode ser usado nas frentes iOS, Android e Web de acordo com a tabela abaixo:

Propriedade iOS Android Web
Basis
Size
Margin
Padding
Position

Flex Direction

Nesta seção, você encontra mais informações sobre a propriedade Flex Direction utilizada para posicionar elementos em tela.

Grow

Nesta seção, você encontra mais informações sobre a propriedade Grow utilizada para posicionar elementos em tela.

Justify Content

Nesta seção, você encontra mais informações sobre a propriedade Justify Content utilizada para posicionar elementos em tela.

Align Content

Nesta seção, você encontra mais informações sobre a propriedade Align Content utilizada para posicionar elementos em tela.

Align Items

Nesta seção, você encontra mais informações sobre a propriedade Align Items utilizada para posicionar elementos em tela.

Align Self

Nesta seção, você encontra mais informações sobre a propriedade Align Self utilizada para posicionar elementos em tela.

Flex Wrap

Nesta seção, você encontra mais informações sobre a propriedade Flex Wrap utilizada para posicionar elementos em tela.

Margin

Nesta seção, você encontra mais informações sobre a propriedade Margin utilizada para posicionar elementos em tela.

Padding

Nesta seção, você encontra mais informações sobre a propriedade Padding utilizada para posicionar elementos em tela.

Position

Nesta seção, você encontra mais informações sobre a propriedade Position.

Positiontype

Nesta seção, você encontra mais informações sobre a propriedade Position Type.

Basis

Nesta seção, você encontra mais informações sobre a propriedade Basis utilizada para posicionar elementos em tela.

Shrink

Nesta seção, você encontra mais informações sobre a propriedade Shrink utilizada para posicionar elementos em tela.

Size

Nesta seção, você encontra mais informações sobre a propriedade Size utilizada para posicionar elementos em tela.

Display

Nesta seção, você encontra mais informações sobre a propriedade Display utilizada para posicionar elementos em tela.

Flex

Nesta seção, você encontra mais informações sobre a propriedade Flex utilizada para posicionar elementos em tela.


Última modificação 11/03/2021: feat: section overview (#391) (2c91101e)