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><TextView></code> cria um widget {@link android.widget.TextView} na IU 35e um elemento <code><LinearLayout></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<?xml version="1.0" encoding="utf-8"?> 41<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 <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 <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</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