Todos os elementos da interface do usuário em um aplicativo para Android são criados usando objetos View
e
ViewGroup
. Uma View
é um objeto que desenha
algo na tela com o qual o usuário pode interagir. Um ViewGroup
é um
objeto que contém outros objetos View
(e ViewGroup
) para
definir o layout da interface.
O Android fornece uma coleção de subclasses View
e ViewGroup
que oferecem controles de entrada comuns (como botões e campos de
texto) e vários modelos de layout (como um layout linear ou relativo).
Layout da interface do usuário
A interface do usuário para cada componente do aplicativo é definida usando uma hierarquia de objetos View
e ViewGroup
, como mostrado na figura 1. Cada grupo de exibições
é um contêiner invisível que organiza exibições de filhos e as exibições de filhos podem ser
controles de entrada ou outros widgets
que desenham alguma parte da IU. Essa árvore hierárquica pode ser simples ou complexa, conforme
necessário (mas a simplicidade é melhor para o desempenho).

Figura 1. Ilustração de uma hierarquia de exibições, que define o layout de uma IU.
Para declarar o layout, é possível instanciar objetos View
no código e começar a
criar uma árvore. Mas a forma mais fácil e efetiva de definir o layout é com um arquivo XML.
O XML oferece uma estrutura legível por humanos para o layout, similar a HTML.
O nome de um elemento XML para uma exibição é respectivo à classe do Android que ele representa. Portanto, um elemento
<TextView>
cria um widget TextView
na IU
e um elemento <LinearLayout>
cria um grupo de exibições de LinearLayout
.
Por exemplo, um layout vertical simples com uma exibição de texto e um botão se parece com:
<?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="I am a TextView" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="I am a Button" /> </LinearLayout>
Ao carregar um recurso de layout no aplicativo, o Android inicializa cada nó do layout em um objeto em tempo de execução que pode ser usado para definir comportamentos adicionais, consultar o estado do objeto ou modificar o layout.
Para obter um guia completo para criar um layout de IU, consulte Layouts XML.
Componentes da interface do usuário
Você não precisa criar toda a IU usando objetos View
e ViewGroup
. O Android fornece vários componentes de aplicativo que oferecem
um layout de IU padrão para os quais basta definir o conteúdo. Esses componentes de IU
têm um conjunto único de APIs que são descritas nos respectivos documentos, como Adição da barra do aplicativo, Diálogos e Notificações de status.