sábado, 14 de julho de 2018

Rumo ao Certificado Android: Constraint Layout

O que é?
Para evitar que o aninhamento de Views exagerado, foi criado o Constraint Layout para melhor configurar os elementos do layout. Para utilizá-lo, primeiro deve-se instalar a biblioteca. Para isso, realize os seguintes passos:

1. Abre o SDK Manager (Tools > Android > SDK Manager);
2. Clique na aba SDK Tools;
3. Expanda o "Support Repository" e verifique o "ConstraintLayout for Android" e o "Solver for ConstraintLayout". Clique em "Show Package Details" e verifique a versão;
4. Clique em  OK;
5. Adicione o ConstraintLayout como dependência no arquivo build.gradle, como no exemplo abaixo (colocar a versão obtida no passo 3, por favor)

dependencies{
   compile 'com.android.support.constraint.constraint-layout:1.0.0'
}

6. Sincronize o projeto com o Gradle;

Usando no Layout
Para usar o ConstraintLayout, no XML do layout deve ter como raiz o ConstraintLayout, como no exemplo abaixo:

<android.support.constraint.ConstraintLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent">

<!--conteúdo aqui --> 

</android.support.constraint.ConstraintLayout>

As views dentro de um ConstraintLayout geralmente precisam de pelo menos duas restrições, uma vai determinar a posição horizontal e a outra a vertical, e sempre, em relação a uma outra view ou ao pai. As restrições podem ser atribuídos pelo atributo app:layout_constraint[tipo], como no exemplo abaixo:

<TextView
  app:layout_constraintTop_toTopOf="parent"
  app:layout_constraintLeft_toLeftOf="parent" />

No exemplo acima, temos duas restrições: o primeiro é que o topo da view deve estar junto com o topo da view pai. E a segunda restrição é o lado Esquerdo da view deve estar junto com o lado esquerdo do pai. Sem configuração de margens, o elemento ficará alinhado no canto superior esquerdo da view pai.  Existem vários outros tipos de restrição, mas basicamente ele irá alinhar um lado da view com um lado da outra view a ser referenciado, e assim as views vão se posicionando.


Nenhum comentário:

Postar um comentário