Vou iniciar uma série de tutorias a respeito de layout, hoje começarei com o LinearLayout, esse que é o mais básico de todos os tipos de layout utilizados no Android.
Atualmente existem duas variações do LinearLayout, que são:
1. Horizontal -> todos os widgets adicionados dentro desse layout são colocados um do lado do outro.
2. Vertical -> todos os widgets adicionados dentro de layout são colocados um abaixo do outro.
Dentro de um LinearLayout podemos conter vários widgets, e inclusive conter outros LinearLaytouts que contenham outros widgets.
As principais propriedades do layout LinearLayout são:
1. layout_width -> largura do layout
2. layout_height -> altura do layout
3. orientation -> vertical ou horizontal
4. layout_gravity -> define se o layout será exibido no topo, rodapé, centralizado, etc...
Abaixo temos um exemplo de LinearLayut aninhado, que pode ser utilizado como base para cadastro qualquer:
<?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" >
    
    <LinearLayout
        android:id="@+id/linearLayout1"
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
        <TextView
            android:id="@+id/tvCodigo"
            android:layout_height="wrap_content"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:gravity="right"
            android:text="Código :" />
    
        <EditText
            android:id="@+id/etCodigo"
            android:layout_height="wrap_content"
            android:layout_width="0dp"
            android:layout_weight="4"/>
    </LinearLayout>
    <LinearLayout
        android:id="@+id/linearLayout2"
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
        <TextView
            android:id="@+id/tvNome"
            android:layout_height="wrap_content"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:gravity="right"
            android:text="Nome :" />
    
        <EditText
            android:id="@+id/etNome"
            android:layout_height="wrap_content"
            android:layout_width="0dp"
            android:layout_weight="4"/>
    </LinearLayout>
    <LinearLayout
        android:id="@+id/linearLayout3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="right">
        
        <Button
            android:id="@+id/btnConfirmar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Confirmar" />
        
        <Button
            android:id="@+id/btnCancelar"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Cancelar" />
    </LinearLayout>
</LinearLayout>
Como resultado temos a seguinte imagem:
Abaixo temos uma pequena variação do exemplo acima, a mudança é que agora os botões estão alinhados ao rodapé da tela, e que também eles estão ocupando toda a largura da tela.
<?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" >
    
    <LinearLayout
        android:id="@+id/linearLayout1"
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
        <TextView
            android:id="@+id/tvCodigo"
            android:layout_height="wrap_content"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:gravity="right"
            android:text="Código :" />
    
        <EditText
            android:id="@+id/etCodigo"
            android:layout_height="wrap_content"
            android:layout_width="0dp"
            android:layout_weight="4"/>
    </LinearLayout>
    <LinearLayout
        android:id="@+id/linearLayout2"
        android:orientation="horizontal"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
        <TextView
            android:id="@+id/tvNome"
            android:layout_height="wrap_content"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:gravity="right"
            android:text="Nome :" />
    
        <EditText
            android:id="@+id/etNome"
            android:layout_height="wrap_content"
            android:layout_width="0dp"
            android:layout_weight="4"/>
    </LinearLayout>
    <LinearLayout
        android:id="@+id/linearLayout3"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="bottom" >
        
        <Button
            android:id="@+id/btnConfirmar"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:text="Confirmar" />
        
        <Button
            android:id="@+id/btnCancelar"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:text="Cancelar" />
    </LinearLayout>
</LinearLayout>
Como resultado temos a imagem abaixo:
O exemplo abaixo mostra como criar uma tela de menu principal ou dashboard.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:baselineAligned="false"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_vertical|center_horizontal"
    android:weightSum="6"
    android:orientation="horizontal" >
   
    <LinearLayout 
        android:id="@+id/lin1"
        android:layout_width="0dp"
        android:layout_weight="3"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:orientation="vertical" >
        <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20dp"
            android:text="Opções:"
            android:textAppearance="?android:attr/textAppearanceLarge" />
    
        <Button
            android:id="@+id/btnIncluir"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Incluir" />    
        <Button
            android:id="@+id/btnConsultar"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Consultar" />  
        <Button
            android:id="@+id/btnAlterar"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Alterar" />                              
        
        <Button
            android:id="@+id/btnExcluir"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Excluir" />                              
        
        </LinearLayout>
</LinearLayout>
Como resultado temos a seguinte imagem:
A seguir mais um exemplo de como criar uma tela de cadastro.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#2a2a2a"
        android:orientation="horizontal" >
        <Button
            android:id="@+id/btnConfirmar"
            android:layout_weight="1"
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Confirmar" />
        <Button
            android:id="@+id/btnCancelar"
            android:layout_weight="1" 
            android:layout_marginTop="10dp"
            android:layout_marginBottom="10dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Cancelar" />
    </LinearLayout>
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Codigo:" />
    <EditText
        android:id="@+id/edtCodigo"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
        <requestFocus />
    </EditText>
    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Nome:" />
    <EditText
        android:id="@+id/edtNome"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Endereço:" />
    <EditText
        android:id="@+id/edtEndereco"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
</LinearLayout>
Como resultado temos a seguinte imagem:Esse é o início para montar uma tela em Android, em breve estarei apresentando outros tipos de layouts e quem sabe aumentando os exemplos utilizados nesse tutorial.
Posts relacionados:
RelativeLayout - http://escoladeandroid.blogspot.com.br/2012/04/android-layout-relativelayout.html
Desenvolvi o jogo Circus Puzzle Free ele é um quebra-cabeça e está publicado no Android Market, agradeço a todos que baixarem, jogarem e comentarem.
Desenv com qualidade!
 



 
Um comentário:
Me ajudou. Obrigado. :D
Postar um comentário