Android - Layouts de IU

O bloco de construção básico para a interface do usuário é um Viewobjeto que é criado a partir da classe View e ocupa uma área retangular na tela e é responsável pelo desenho e tratamento dos eventos. View é a classe base para widgets, que são usados ​​para criar componentes de IU interativos como botões, campos de texto, etc.

o ViewGroup é uma subclasse de View e fornece um recipiente invisível que contém outras visualizações ou outros ViewGroups e definem suas propriedades de layout.

No terceiro nível, temos layouts diferentes que são subclasses da classe ViewGroup e um layout típico define a estrutura visual de uma interface de usuário Android e pode ser criado em tempo de execução usando View/ViewGroup objetos ou você pode declarar seu layout usando um arquivo XML simples main_layout.xml que está localizado na pasta res / layout do seu projeto.

Parâmetros de layout

Este tutorial é mais sobre como criar sua GUI com base em layouts definidos em arquivo XML. Um layout pode conter qualquer tipo de widgets, como botões, rótulos, caixas de texto e assim por diante. A seguir está um exemplo simples de arquivo XML com LinearLayout -

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical" >
   
   <TextView android:id="@+id/text"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="This is a TextView" />
      
   <Button android:id="@+id/button"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="This is a Button" />
      
   <!-- More GUI components go here  -->
   
</LinearLayout>

Uma vez que seu layout foi criado, você pode carregar o recurso de layout de seu código de aplicativo, em sua implementação de callback Activity.onCreate () como mostrado abaixo -

public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.activity_main);
}

Tipos de layout Android

Existem vários layouts fornecidos pelo Android que você usará em quase todos os aplicativos Android para fornecer uma visão, aparência e comportamento diferentes.

Sr. Não Layout e descrição
1 Layout Linear

LinearLayout é um grupo de visualização que alinha todos os filhos em uma única direção, vertical ou horizontalmente.

2 esquema relativo

RelativeLayout é um grupo de visualizações que exibe visualizações filhas em posições relativas.

3 Layout da mesa

TableLayout é uma exibição que agrupa as exibições em linhas e colunas.

4 Layout absoluto

AbsoluteLayout permite que você especifique a localização exata de seus filhos.

5 Layout da moldura

O FrameLayout é um espaço reservado na tela que você pode usar para exibir uma única visualização.

6 Exibição de lista

ListView é um grupo de visualização que exibe uma lista de itens roláveis.

7 Visualização em grade

GridView é um ViewGroup que exibe itens em uma grade bidimensional com rolagem.

Atributos de layout

Cada layout possui um conjunto de atributos que definem as propriedades visuais desse layout. Existem alguns atributos comuns entre todos os layouts e há outros atributos específicos desse layout. A seguir estão os atributos comuns que serão aplicados a todos os layouts:

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

android:id

Este é o ID que identifica exclusivamente a vista.

2

android:layout_width

Esta é a largura do layout.

3

android:layout_height

Esta é a altura do layout

4

android:layout_marginTop

Este é o espaço extra na parte superior do layout.

5

android:layout_marginBottom

Este é o espaço extra na parte inferior do layout.

6

android:layout_marginLeft

Este é o espaço extra no lado esquerdo do layout.

7

android:layout_marginRight

Este é o espaço extra no lado direito do layout.

8

android:layout_gravity

Isso especifica como as visualizações filhas são posicionadas.

9

android:layout_weight

Isso especifica quanto do espaço extra no layout deve ser alocado para a Visualização.

10

android:layout_x

Isso especifica a coordenada x do layout.

11

android:layout_y

Isso especifica a coordenada y do layout.

12

android:layout_width

Esta é a largura do layout.

13

android:paddingLeft

Este é o preenchimento esquerdo do layout.

14

android:paddingRight

Este é o preenchimento correto para o layout.

15

android:paddingTop

Este é o preenchimento superior preenchido para o layout.

16

android:paddingBottom

Este é o preenchimento inferior preenchido para o layout.

Aqui, largura e altura são as dimensões do layout / visualização que podem ser especificadas em termos de dp (Pixels independentes de densidade), sp (Pixels independentes de escala), pt (pontos que são 1/72 de polegada), px ( Pixels), mm (milímetros) e finalmente em (polegadas).

Você pode especificar a largura e a altura com medidas exatas, mas com mais frequência, você usará uma dessas constantes para definir a largura ou altura -

  • android:layout_width=wrap_content diz à sua visualização para se dimensionar para as dimensões exigidas por seu conteúdo.

  • android:layout_width=fill_parent diz que sua visualização se torna tão grande quanto sua visualização pai.

O atributo gravidade desempenha um papel importante no posicionamento do objeto de visualização e pode assumir um ou mais (separados por '|') dos seguintes valores constantes.

Constante Valor Descrição
topo 0x30 Empurre o objeto para o topo de seu contêiner, sem alterar seu tamanho.
inferior 0x50 Empurre o objeto para o fundo do recipiente, sem alterar seu tamanho.
esquerda 0x03 Empurre o objeto para a esquerda de seu contêiner, sem alterar seu tamanho.
direito 0x05 Empurre o objeto à direita de seu contêiner, sem alterar seu tamanho.
center_vertical 0x10 Coloque o objeto no centro vertical de seu contêiner, sem alterar seu tamanho.
fill_vertical 0x70 Aumente o tamanho vertical do objeto, se necessário, para que ele preencha completamente seu contêiner.
center_horizontal 0x01 Coloque o objeto no centro horizontal de seu contêiner, sem alterar seu tamanho.
fill_horizontal 0x07 Aumente o tamanho horizontal do objeto, se necessário, para que ele preencha completamente seu recipiente.
Centro 0x11 Coloque o objeto no centro de seu contêiner nos eixos vertical e horizontal, sem alterar seu tamanho.
preencher 0x77 Aumente o tamanho horizontal e vertical do objeto, se necessário, para que ele preencha completamente seu contêiner.
clip_vertical 0x80 Opção adicional que pode ser definida para ter as bordas superior e / ou inferior do filho recortadas nos limites do contêiner. O clipe será baseado na gravidade vertical: uma gravidade superior cortará a borda inferior, uma gravidade inferior cortará a borda superior e nenhuma delas cortará ambas as bordas.
clip_horizontal 0x08 Opção adicional que pode ser definida para ter as bordas esquerda e / ou direita do filho recortadas nos limites de seu contêiner. O clipe será baseado na gravidade horizontal: uma gravidade esquerda cortará a borda direita, uma gravidade direita cortará a borda esquerda e nenhuma delas cortará ambas as bordas.
começar 0x00800003 Empurre o objeto para o início de seu contêiner, sem alterar seu tamanho.
fim 0x00800005 Empurre o objeto até o final do contêiner, sem alterar seu tamanho.

Ver identificação

Um objeto de visualização pode ter um ID exclusivo atribuído a ele, que identificará a Visualização exclusivamente dentro da árvore. A sintaxe para um ID, dentro de uma tag XML é -

android:id="@+id/my_button"

A seguir está uma breve descrição dos sinais @ e + -

  • O símbolo de arroba (@) no início da string indica que o analisador XML deve analisar e expandir o resto da string de ID e identificá-la como um recurso de ID.

  • O símbolo de mais (+) significa que este é um novo nome de recurso que deve ser criado e adicionado aos nossos recursos. Para criar uma instância do objeto de visualização e capturá-lo do layout, use o seguinte -

Button myButton = (Button) findViewById(R.id.my_button);