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 -