Visão geral da IU

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.