ConstraintLayout: Layout Editor

Edilson Ngulele
GDG Maputo
Published in
4 min readJan 9, 2018
Layout Editor

Para quem ja vem utilizando o Android Studio desde as suas primeiras versões, assim como eu, de certeza que ficou surpreendido com o novo Layout Editor, este que foi introduzido no Android Studio 2.2 preview. Com o Layout Editor, podemos criar UI’s de forma mais simples e rápida.

No primeiro artigo da série, expliquei o que é o ConstraintLayout e como funciona. Se ainda não tiveste a oportunidade de ler, podes encontrar o artigo aqui:

  1. Introdução ao ConstraintLayout
  2. ConstraintLayout: Layout Editor (Estamos aqui)
  3. ConstraintLayout: Criando Um Layout Complexo
  4. Animações com o ConstraintLayout Parte 1
  5. Animações com o ConstraintLayout Parte 2

Neste segundo artigo, vamos aprender como podemos utilizar o Layout Editor + ConstraintLayout para construir UI’s responsivas.

E so para garantir que estamos todos na mesma pagina:

  • Android Studio: Ferramenta utilizada para criar desenvolver aplicativos para android.
  • Layout Editor: Ferramenta utilizada para editar layouts de forma visual.

Constraint

Uma constraint representa a conexão ou o alinhamento de uma view com outra view, ou com o parent. Isto é, as constraints definem como uma view estará posicionada no eixo vertical e/ou horizontal. Por tanto, cada view deve ter no mínimo uma constraint para cada eixo.

Cada view tem quatro anchor points, cada ponto representa um lado de uma view, é através deles que iremos criar as constraints.

ImageVew

Criando constraints com o layout editor

Através do layout editor podemos criar constraints de um maneira muito simples, tudo que precisamos é apenas arrastar o anchor point de uma view para outra. Assim:

Side constraint

Da mesma forma, podemos adicionar constraints entre uma view e o parent:

constraint entre a view e o parent

View Inspector

Além de arrastar pontos e criar constraints entres views, o layout editor dá-nos a possibilidade de fazer ajustes nos atributos da view. No lado direito do layout editor temos a janela dos atributos, é lá onde vamos definir o nome, o id, comprimento, largura e todos os atributos que desejamos ter na nossa view. Para este artigo, irei apenas falar do view inspector, essa ferramenta que nos permite definir o posicionamento da nossa view de uma maneira muito simples.

View inspector (fonte: android.developer.com)
  1. Define a proporção de uma view;
  2. Elimina uma constraint;
  3. Define a altura e comprimento da view;
  4. Define as margens da entre views e/ou parent;
  5. Define a inclinacao da view;

Vamos perceber melhor o número 3 e 5;

Altura e comprimento

Existem três formas de como podemos definir a altura e comprimento das nossas views utilizando o view inspector, que são:

  • Fixed: Introduzimos manualmente as dimensões das nossas views, a unidade usada é o dp (density pixels):
Fixed size
  • Wrap Content: A view ocupa apenas o espaço necessário para cobrir o seu conteúdo. Por exemplo, quando pegamos em uma caixa e embrulhamos com o papel de presente, estamos a fazer um wrap content na caixa:
Wrap content
  • Match Constraints: A view expande-se o maximo possível, de forma a satisfazer as constraints de cada lado.
Match Constraints

Espero que tenhas reparado que para cada modo, as linhas dentro do quadrado do view spector mudam de forma. Cada representação diz respeito a forma de dimensionamento da view.

Inclinação da view

Com este atributo podemos ajustar as nossas views ao longo do eixo x e y. Para isso nos basta apenas arrastar um desses controles que estão por volta do quadrado (tem o número 50 no meio). Tão simples que até parece magia, veja por si mesmo:

  • No eixo X
Horizontal Bias
  • No eixo Y
Vertical Bias

É isso!

Chegamos ao fim deste artigo, mas deixa-me dizer que, este novo layout editor faz muitas mais coisas incríveis principalmente quando o usamos com o ConstraintLayout. Não deu para falar de tudo, falei apenas de uma forma geral e toquei em alguns pontos, por isso recomendo que procures investigar um bocado mais sobre essa ferramenta incrível. Também recomendo muito uma pesquisa sobre o conceito das Chains para o ConstraintLayout.

No próximo artigo iremos explorar mais o ConstraintLayout e o Layout Editor, criando uma UI bem sofistica e bonita.

Se tiver alguma questão ou sugestão deixe aí nos comentários e não hesite em contactar-me pelo email: edilsonngulele@gmail.com ou twitter: @edilson_ngulele

Obrigado e até a próxima!

--

--

Edilson Ngulele
GDG Maputo

Just a regular guy who loves coding and writing about Google Technologies | Project Manager @ MozDevz