Android Layouts (ViewGroups) – (Parte 3 – TableLayout )

Continuando a explicação de como trabalhar com os layouts no Android, iremos abordar agora o TableLayout.

 

 

 

TableLayout

O TableLayout organiza seus views filhos em linhas e colunas como se fosse uma tabela. Dentro do TableLayout possuem um ou vários objetos TableRow que definem as linhas que existirão na sua tabela . Os contêineres TableLayout não exibem linhas de borda para suas linhas, colunas ou células. Cada linha tem zero ou mais células; Cada célula pode conter um objeto View. Para cada célula é definida uma coluna. A tabela tem tantas colunas quanto a maior quantidade de células existente nas linhas. Uma tabela pode deixar células vazias. 

A largura de uma coluna é definida pela linha com a célula mais larga nessa coluna. No entanto, um TableLayout pode especificar certas colunas como encolhíveis ou alongáveis chamando setColumnShrinkable() ou setColumnStretchable(). Se marcado como encolhível (setColumnShrinkable ), a largura da coluna pode ser reduzida para caber a tabela em seu objeto pai. Se marcado como alongáveis (setColumnStretchable ), pode expandir na largura para caber todo o espaço extra.

O objeto TableRow possui algusn atributos importantes como por exemplo:

  • android:layout_column: define o índice da coluna em que o view filho deve estar;
  • android: layout_span: define quantas colunas o view filho deve abranger.

tablelayoutO exemplo abaixo tem-se um TableLayout e dentro desse contâiner possuem 5 TableRows (linhas). As tres primeiras linhas possuem um TextView e um EditView. As duas últimas linhas possuem um Button cada. Como a linha que possui mais views tem cois views o TableLayout possui 2 colunas. 

As linhas que possuem os botões está com a propriedade layout_span marcada para duas colunas, assim os botões estão ocupando o espaço de duas colunas.

 

<xml version="1.0" encoding="utf-8"?>
<TableLayout 
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/activity_table_form_layout" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:shrinkColumns="2" 
android:stretchColumns="2" 
tools:context="com.example.totemarcal.exemploandroid.TableFormLayout">
 

<TableRow 
android:layout_height="wrap_content" 
android:layout_width="match_parent">
 

<TextView android:id="@+id/textView1" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:text="Nome:"/>
 

<EditText 
android:id="@+id/edtNome" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_weight="1" >
 
<requestFocus /> 
</EditText> 

</TableRow>

 

<TableRow 
android:layout_height="wrap_content" 
android:layout_width="match_parent">
 
<TextView android:id="@+id/textView2" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_below="@+id/edtNome" 
android:text="Telefone:" />
 

<EditText android:id="@+id/edtTelefone" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:layout_weight="1" /> 

</TableRow>
 

<TableRow 
android:layout_height="wrap_content" 
android:layout_width="match_parent">
 

<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" 
android:layout_weight="1" /> 

</TableRow> 

<TableRow 

android:layout_height="wrap_content" 
android:layout_width="match_parent">
 

<Button android:id="@+id/btnSalvar" 
android:layout_span="2" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:text="Salvar" 
android:layout_weight="1"/> 
</TableRow> 

<TableRow 
android:layout_height="wrap_content" 
android:layout_width="match_parent">
 

<Button android:id="@+id/btnCancelar"  
android:layout_span="2"  
android:layout_width="match_parent"  
android:layout_height="wrap_content"  
android:text="Cancelar"  
android:layout_weight="1"/> 

</TableRow>
</TableLayout>

 

Fonte: https://developer.android.com/reference/android/widget/TableLayout.html

Deixe uma resposta

Specify Google Client ID and Secret in Super Socializer > Social Login section in admin panel for Google Login to work

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *