Home | History | Annotate | Download | only in ui
      1 page.title=Viso geral da IU
      2 @jd:body
      3 
      4 
      5 <p>Todos os elementos da interface do usurio em um aplicativo para Android so criados usando objetos {@link android.view.View} e
      6 {@link android.view.ViewGroup}. Uma {@link android.view.View}  um objeto que desenha
      7 algo na tela com o qual o usurio pode interagir. Um {@link android.view.ViewGroup}  um
      8 objeto que contm outros objetos {@link android.view.View} (e {@link android.view.ViewGroup}) para
      9 definir o layout da interface.</p>
     10 
     11 <p>O Android fornece uma coleo de subclasses {@link android.view.View} e {@link
     12 android.view.ViewGroup} que oferecem controles de entrada comuns (como botes e campos de
     13 texto) e vrios modelos de layout (como um layout linear ou relativo).</p>
     14 
     15 
     16 <h2 id="Layout">Layout da interface do usurio</h2>
     17 
     18 <p>A interface do usurio de cada componente do aplicativo  definida usando uma hierarquia de objetos {@link
     19 android.view.View} e {@link android.view.ViewGroup}, como mostra a figura 1. Cada grupo de vistas
     20  um recipiente invisvel que organiza vistas de nvel inferior, enquanto que as vistas de nvel inferior podem ser
     21 controles de entrada ou outros widgets
     22 que desenham alguma parte da IU. Essa rvore hierrquica pode ser simples ou complexa, conforme necessrio
     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> Ilustrao de uma hierarquia de vistas, que define o layout
     27 de uma IU.</p>
     28 
     29 <p>Para declarar o layout,  possvel instanciar objetos {@link android.view.View} no cdigo e comear a
     30 criar uma rvore. Mas a forma mais fcil e efetiva de definir o layout  com um arquivo XML.
     31 O XML oferece uma estrutura legvel 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
     35 e 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 boto 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
     57 objeto em tempo de execuo que pode ser usado para definir comportamentos adicionais, consultar o estado do objeto ou modificar o
     58 layout.</p>
     59 
     60 <p>Para obter um guia completo para criar um layout de IU, consulte <a href="declaring-layout.html">Layouts
     61 XML</a>.
     62 
     63 
     64 <h2 id="UIComponents">Componentes da interface do usurio</h2>
     65 
     66 <p>Voc no precisa criar toda a IU usando objetos {@link android.view.View} e {@link
     67 android.view.ViewGroup}. O Android fornece vrios componentes de aplicativo que oferecem
     68 um layout de IU padro para os quais basta definir o contedo. Esses componentes de IU
     69 tm um conjunto nico de APIs que so descritas nos respectivos documentos, como <a href="{@docRoot}guide/topics/ui/actionbar.html">Barra de ao</a>, <a href="{@docRoot}guide/topics/ui/dialogs.html">Caixas de dilogo</a> e <a href="{@docRoot}guide/topics/ui/notifiers/notifications.html">Notificaes de status</a>.</p>
     70 
     71 
     72