1page.title=Visão geral da IU
2@jd:body
3
4
5<p>Todos os elementos da interface do usuário em um aplicativo para Android são criados usando objetos {@link android.view.View} e
6{@link android.view.ViewGroup}. Uma {@link android.view.View} é um objeto que desenha
7algo na tela com o qual o usuário pode interagir. Um {@link android.view.ViewGroup} é um
8objeto que contém outros objetos {@link android.view.View} (e {@link android.view.ViewGroup}) para
9definir o layout da interface.</p>
10
11<p>O Android fornece uma coleção de subclasses {@link android.view.View} e {@link
12android.view.ViewGroup} que oferecem controles de entrada comuns (como botões e campos de
13texto) e vários modelos de layout (como um layout linear ou relativo).</p>
14
15
16<h2 id="Layout">Layout da interface do usuário</h2>
17
18<p>A interface do usuário de cada componente do aplicativo é definida usando uma hierarquia de objetos {@link
19android.view.View} e {@link android.view.ViewGroup}, como mostra a figura 1. Cada grupo de vistas
20é um recipiente invisível que organiza vistas de nível inferior, enquanto que as vistas de nível inferior podem ser
21controles de entrada ou outros widgets
22que desenham alguma parte da IU. Essa árvore hierárquica pode ser simples ou complexa, conforme necessário
23(mas a simplicidade é melhor para desempenho).</p>
24
25<img src="{@docRoot}images/viewgroup.png" alt="" />
26<p class="img-caption"><strong>Figura 1.</strong> Ilustração de uma hierarquia de vistas, que define o layout
27de uma IU.</p>
28
29<p>Para declarar o layout, é possível instanciar objetos {@link android.view.View} no código e começar a
30criar uma árvore. Mas a forma mais fácil e efetiva de definir o layout é com um arquivo XML.
31O XML oferece uma estrutura legível por humanos para o layout, similar a HTML.</p>
32
33<p>O nome de um elemento XML para uma vista é respectivo à classe do Android que ele representa. Portanto, um elemento
34<code>&lt;TextView&gt;</code> cria um widget {@link android.widget.TextView} na IU
35e um elemento <code>&lt;LinearLayout&gt;</code> cria um grupo de vistas de {@link android.widget.LinearLayout}
36. </p>
37
38<p>Por exemplo, um layout vertical simples com uma vista de texto e um botão se parece com:</p>
39<pre>
40&lt;?xml version="1.0" encoding="utf-8"?>
41&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
42              android:layout_width="fill_parent"
43              android:layout_height="fill_parent"
44              android:orientation="vertical" >
45    &lt;TextView android:id="@+id/text"
46              android:layout_width="wrap_content"
47              android:layout_height="wrap_content"
48              android:text="I am a TextView" />
49    &lt;Button android:id="@+id/button"
50            android:layout_width="wrap_content"
51            android:layout_height="wrap_content"
52            android:text="I am a Button" />
53&lt;/LinearLayout>
54</pre>
55
56<p>Ao carregar um recurso de layout no aplicativo, o Android inicializa cada nó do layout em um
57objeto em tempo de execução que pode ser usado para definir comportamentos adicionais, consultar o estado do objeto ou modificar o
58layout.</p>
59
60<p>Para obter um guia completo para criar um layout de IU, consulte <a href="declaring-layout.html">Layouts
61XML</a>.
62
63
64<h2 id="UIComponents">Componentes da interface do usuário</h2>
65
66<p>Você não precisa criar toda a IU usando objetos {@link android.view.View} e {@link
67android.view.ViewGroup}. O Android fornece vários componentes de aplicativo que oferecem
68um layout de IU padrão para os quais basta definir o conteúdo. Esses componentes de IU
69têm um conjunto único de APIs que são descritas nos respectivos documentos, como <a href="{@docRoot}guide/topics/ui/actionbar.html">Barra de ação</a>, <a href="{@docRoot}guide/topics/ui/dialogs.html">Caixas de diálogo</a> e <a href="{@docRoot}guide/topics/ui/notifiers/notifications.html">Notificações de status</a>.</p>
70
71
72