Layout Relativo do Android

O Android RelativeLayout permite que você especifique como as visualizações filhas são posicionadas em relação umas às outras. A posição de cada visualização pode ser especificada como relativa aos elementos irmãos ou relativa ao pai.

esquema relativo

Atributos RelativeLayout

A seguir estão os atributos importantes específicos para RelativeLayout -

Sr. Não. Atributo e descrição
1

android:id

Este é o ID que identifica exclusivamente o layout.

2

android:gravity

Isso especifica como um objeto deve posicionar seu conteúdo, nos eixos X e Y. Os valores possíveis são top, bottom, left, right, center, center_vertical, center_horizontal etc.

3

android:ignoreGravity

Isso indica qual vista não deve ser afetada pela gravidade.

Usando o RelativeLayout, você pode alinhar dois elementos pela borda direita ou fazer um abaixo do outro, centralizado na tela, centralizado à esquerda e assim por diante. Por padrão, todas as visualizações filhas são desenhadas no canto superior esquerdo do layout, então você deve definir a posição de cada visualização usando as várias propriedades de layout disponíveis emRelativeLayout.LayoutParams e alguns dos atributos importantes são fornecidos abaixo -

Sr. Não. Atributo e descrição
1

android:layout_above

Posiciona a borda inferior desta visualização acima do ID da visualização âncora fornecida e deve ser uma referência a outro recurso, no formato "@ [+] [pacote:] tipo: nome"

2

android:layout_alignBottom

Faz com que a borda inferior desta visualização corresponda à borda inferior do ID da visualização âncora fornecida e deve ser uma referência a outro recurso, no formato "@ [+] [pacote:] tipo: nome".

3

android:layout_alignLeft

Faz com que a borda esquerda dessa visualização corresponda à borda esquerda do ID da visualização âncora fornecida e deve ser uma referência a outro recurso, no formato "@ [+] [pacote:] tipo: nome".

4

android:layout_alignParentBottom

Se verdadeiro, faz com que a borda inferior desta visualização corresponda à borda inferior do pai. Deve ser um valor booleano, "verdadeiro" ou "falso".

5

android:layout_alignParentEnd

Se verdadeiro, faz com que a borda final desta visualização corresponda à borda final do pai. Deve ser um valor booleano, "verdadeiro" ou "falso".

6

android:layout_alignParentLeft

Se verdadeiro, faz com que a borda esquerda desta visualização corresponda à borda esquerda do pai. Deve ser um valor booleano, "verdadeiro" ou "falso".

7

android:layout_alignParentRight

Se verdadeiro, faz com que a borda direita desta visualização corresponda à borda direita do pai. Deve ser um valor booleano, "verdadeiro" ou "falso".

8

android:layout_alignParentStart

Se verdadeiro, faz com que a borda inicial desta visualização corresponda à borda inicial do pai. Deve ser um valor booleano, "verdadeiro" ou "falso".

9

android:layout_alignParentTop

Se verdadeiro, faz com que a borda superior desta visualização corresponda à borda superior do pai. Deve ser um valor booleano, "verdadeiro" ou "falso".

10

android:layout_alignRight

Faz com que a borda direita dessa visualização corresponda à borda direita do ID de visualização âncora fornecido e deve ser uma referência a outro recurso, no formato "@ [+] [pacote:] tipo: nome".

11

android:layout_alignStart

Faz com que a borda inicial desta visualização corresponda à borda inicial do ID de visualização âncora fornecido e deve ser uma referência a outro recurso, no formato "@ [+] [pacote:] tipo: nome".

12

android:layout_alignTop

Faz com que a borda superior desta visualização corresponda à borda superior do ID de visualização âncora fornecido e deve ser uma referência a outro recurso, no formato "@ [+] [pacote:] tipo: nome".

13

android:layout_below

Posiciona a borda superior desta visualização abaixo do ID de visualização âncora fornecido e deve ser uma referência a outro recurso, no formato "@ [+] [pacote:] tipo: nome".

14

android:layout_centerHorizontal

Se verdadeiro, centraliza este filho horizontalmente em seu pai. Deve ser um valor booleano, "verdadeiro" ou "falso".

15

android:layout_centerInParent

Se verdadeiro, centraliza o filho horizontalmente e verticalmente em seu pai. Deve ser um valor booleano, "verdadeiro" ou "falso".

16

android:layout_centerVertical

Se verdadeiro, centraliza esta criança verticalmente em seu pai. Deve ser um valor booleano, "verdadeiro" ou "falso".

17

android:layout_toEndOf

Posiciona a borda inicial desta visualização no final do ID de visualização âncora fornecido e deve ser uma referência a outro recurso, no formato "@ [+] [pacote:] tipo: nome".

18

android:layout_toLeftOf

Posiciona a borda direita desta visualização à esquerda do ID da visualização âncora fornecida e deve ser uma referência a outro recurso, no formato "@ [+] [pacote:] tipo: nome".

19

android:layout_toRightOf

Posiciona a borda esquerda desta visualização à direita do ID de visualização âncora fornecido e deve ser uma referência a outro recurso, no formato "@ [+] [pacote:] tipo: nome".

20

android:layout_toStartOf

Posiciona a borda final desta visualização no início do ID de visualização âncora fornecido e deve ser uma referência a outro recurso, no formato "@ [+] [pacote:] tipo: nome".

Exemplo

Este exemplo o levará por etapas simples para mostrar como criar seu próprio aplicativo Android usando o Layout Relativo. Siga as etapas a seguir para modificar o aplicativo Android que criamos no capítulo de exemplo Hello World -

Degrau Descrição
1 Você usará o Android Studio IDE para criar um aplicativo Android e nomeá-lo como demo no pacote com.example.demo, conforme explicado no capítulo Exemplo Hello World .
2 Modifique o conteúdo padrão do arquivo res / layout / activity_main.xml para incluir alguns widgets no layout Relativo.
3 Defina as constantes necessárias no arquivo res / values ​​/ strings.xml
4 Execute o aplicativo para iniciar o emulador Android e verifique o resultado das alterações feitas no aplicativo.

A seguir está o conteúdo do arquivo de atividade principal modificado src/com.example.demo/MainActivity.java. Este arquivo pode incluir cada um dos métodos fundamentais do ciclo de vida.

package com.example.demo;

import android.os.Bundle;
import android.app.Activity;

public class MainActivity extends Activity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
   }
   
}

A seguir estará o conteúdo de res/layout/activity_main.xml arquivo -

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:paddingLeft="16dp"
   android:paddingRight="16dp" >
   
   <EditText
      android:id="@+id/name"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:hint="@string/reminder" />
      
   <LinearLayout
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:layout_alignParentStart="true"
      android:layout_below="@+id/name">
      
      <Button
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="New Button"
         android:id="@+id/button" />
      
      <Button
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="New Button"
         android:id="@+id/button2" />
      
   </LinearLayout>

</RelativeLayout>

A seguir estará o conteúdo de res/values/strings.xml para definir duas novas constantes -

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="action_settings">Settings</string>
   <string name="reminder">Enter your name</string>
</resources>

Vamos tentar executar nosso modificado Hello World!aplicativo que acabamos de modificar. Suponho que você tenha criado o seuAVDao fazer a configuração do ambiente. Para executar o aplicativo no Android Studio, abra um dos arquivos de atividade do seu projeto e clique no ícone Executar na barra de ferramentas. O Android Studio instala o aplicativo em seu AVD e o inicia e se tudo estiver bem com sua configuração e aplicativo, ele será exibido a seguir a janela do emulador -