Apostila de Android - Hachi Tecnologia
319 pág.

Apostila de Android - Hachi Tecnologia


DisciplinaProgramação Computacional para Engenharia da Computação24 materiais786 seguidores
Pré-visualização50 páginas
componente
android:layout_below Abaixo de outro componente
android:layout_alignParentTop Ao topo da View pai
android:layout_centerVertical Centralizado verticalmente na View pai
Tabela 6.3. Tipos de posicionamento usados nas Views em um RelativeLayout.
Veja o exemplo de um RelativeLayout:
<RelativeLayout 
 android:layout_width=&quot;match_parent&quot;
 android:layout_height=&quot;match_parent&quot; >
 <TextView
 android:id=&quot;@+id/texto_a&quot;
 android:layout_width=&quot;wrap_content&quot;
 android:layout_height=&quot;wrap_content&quot;
 android:text=&quot;Texto A&quot; />
 <TextView
 android:id=&quot;@+id/texto_b&quot;
 android:layout_width=&quot;wrap_content&quot;
 android:layout_height=&quot;wrap_content&quot;
 android:text=&quot;Texto B&quot;
 android:layout_toRightOf=&quot;@id/texto_a&quot; />
 <TextView
 android:id=&quot;@+id/texto_c&quot;
 android:layout_width=&quot;wrap_content&quot;
 android:layout_height=&quot;wrap_content&quot;
 android:text=&quot;Texto C&quot;
 android:layout_below=&quot;@id/texto_a&quot; />
 <TextView
 android:id=&quot;@+id/texto_d&quot;
 android:layout_width=&quot;wrap_content&quot;
 android:layout_height=&quot;wrap_content&quot;
 android:text=&quot;Texto D&quot;
 android:layout_toRightOf=&quot;@id/texto_c&quot;
 android:layout_below=&quot;@id/texto_b&quot; />
 
</RelativeLayout>
A Figura 6.15 mostra o resultado do código de exemplo em execução, na tela do dispositivo.
Android - Desenvolvendo aplicativos para dispositivos móveis
© 2012 Hachi Tecnologia | treinamento@hachitecnologia.com.br
 71
Figura 6.15. Tela com Views posicionadas relativamente em um RelativeLayout.
6.4.3 TableLayout
O TableLayout é usado para ordenar os componentes em forma de tabela. Como toda tabela, o TableLayout é definido 
por linhas e colunas, e são organizados da seguinte forma: 
\u2022 As linhas são definidas através da tag TableRow;
\u2022 As colunas são definidas implicitamente, onde cada View dentro de uma linha (TableRow) representa uma coluna.
Veja o exemplo de um arquivo de Layout usando o TableLayout:
<TableLayout 
 android:layout_width=&quot;match_parent&quot;
 android:layout_height=&quot;match_parent&quot;
 android:stretchColumns=&quot;1&quot; >
 <TableRow>
 <TextView
 android:layout_width=&quot;wrap_content&quot;
 android:layout_height=&quot;wrap_content&quot;
 android:text=&quot;Nome: &quot; />
 <EditText
 android:layout_width=&quot;match_parent&quot;
 android:layout_height=&quot;wrap_content&quot; />
 </TableRow>
 <TableRow>
 <TextView
 android:layout_width=&quot;wrap_content&quot;
 android:layout_height=&quot;wrap_content&quot;
 android:text=&quot;E-mail: &quot; />
 <EditText
 android:layout_width=&quot;match_parent&quot;
 android:layout_height=&quot;wrap_content&quot; />
 </TableRow>
</TableLayout>
Android - Desenvolvendo aplicativos para dispositivos móveis
© 2012 Hachi Tecnologia | treinamento@hachitecnologia.com.br
 72
A Figura 6.16 mostra o resultado do código de exemplo em execução, na tela do dispositivo.
Figura 6.16. Componentes organizados em um TableLayout.
Como mostra a Figura 6.16, nossa TableLayout possui duas linhas, definidas pela tag TableRow. Perceba também que há 
duas Views em cada linha, uma TextView e um EditText, ficando cada uma delas em uma coluna da tabela.
Outro detalhe importante neste exemplo é que, na definição do TableLayout, definimos uma propriedade chamada 
android:stretchColumns. Esta propriedade serve para esticar uma determinada View da tabela até o limite da tela, 
recebendo como parâmetro o número da coluna que queremos esticar, e este número começa em 0 (zero). Em nosso 
exemplo perceba que a segunda coluna, ou seja, a View EditText, ficou esticada pois atribuímos o valor 1 para a 
propriedade android:stretchColumns, e o valor 1 referencia a segunda coluna.
 Dica
A propriedade android:stretchColumns serve para esticar uma coluna do TableLayout até o limite da tela, 
recebendo como parâmetro o número da coluna a ser esticado, começando pelo valor 0 (zero), que referencia a 
primeira coluna.
6.4.4 FrameLayout
O FrameLayout é usado quando queremos mostrar apenas uma View na tela do dispositivo. Veja o exemplo de um 
arquivo de Layout usando o FrameLayout:
<FrameLayout xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
 android:layout_width=&quot;match_parent&quot;
 android:layout_height=&quot;match_parent&quot; >
 <ImageView
 android:layout_width=&quot;match_parent&quot;
 android:layout_height=&quot;match_parent&quot;
 android:src=&quot;@drawable/ic_launcher&quot; />
</FrameLayout>
 Dica
É possível definir mais de uma View dentro de um FrameLayout, porém essas Views serão empilhadas e a última 
View ficará sempre ao topo da tela.
A Figura 6.17 mostra o resultado do código de exemplo em execução, na tela do dispositivo.
Android - Desenvolvendo aplicativos para dispositivos móveis
© 2012 Hachi Tecnologia | treinamento@hachitecnologia.com.br
 73
Figura 6.17. ImageView apresentada em um FrameLayout.
6.4.5 ScrollView
O ScrollView é um ViewGroup usado quando nossa tela precisa de uma barra de rolagem (scrollbar) por não caber todas 
as Views na tela do dispositivo. Usando o ScrollView é possivel rolar pela tela para visualizar todas as Views.
O ScrollView estende de FrameLayout e permite o uso de apenas uma View filha. Normalmente, em um ScrollView, usa-se 
o LinearLayout com orientação vertical, como View filha.
 Veja o exemplo de um arquivo de Layout usando o ScrollView:
<ScrollView xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot;
 android:layout_width=&quot;match_parent&quot;
 android:layout_height=&quot;match_parent&quot; >
 <LinearLayout
 android:layout_width=&quot;match_parent&quot;
 android:layout_height=&quot;match_parent&quot;
 android:orientation=&quot;vertical&quot; >
 <ImageView
 android:layout_width=&quot;wrap_content&quot;
 android:layout_height=&quot;wrap_content&quot;
 android:layout_gravity=&quot;center&quot;
 android:paddingTop=&quot;10.0dip&quot;
 android:src=&quot;@drawable/ic_launcher&quot; />
 <TextView
 android:layout_width=&quot;match_parent&quot;
 android:layout_height=&quot;wrap_content&quot;
 android:paddingTop=&quot;10.0dip&quot;
 android:text=&quot;Nome:&quot; />
 <EditText
 android:id=&quot;@+id/nome&quot;
 android:layout_width=&quot;match_parent&quot;
 android:layout_height=&quot;wrap_content&quot; />
 <TextView
 android:layout_width=&quot;match_parent&quot;
 android:layout_height=&quot;wrap_content&quot;
 android:paddingTop=&quot;10.0dip&quot;
 android:text=&quot;Sexo:&quot; />
 <RadioGroup
Android - Desenvolvendo aplicativos para dispositivos móveis
© 2012 Hachi Tecnologia | treinamento@hachitecnologia.com.br
 74
 android:layout_width=&quot;match_parent&quot;
 android:layout_height=&quot;wrap_content&quot;
 android:orientation=&quot;horizontal&quot; >
 <RadioButton
 android:id=&quot;@+id/sexo_masculino&quot;
 android:layout_width=&quot;wrap_content&quot;
 android:layout_height=&quot;wrap_content&quot;
 android:text=&quot;Masculino&quot; />
 <RadioButton
 android:id=&quot;@+id/sexo_feminino&quot;
 android:layout_width=&quot;wrap_content&quot;
 android:layout_height=&quot;wrap_content&quot;
 android:text=&quot;Feminino&quot; />
 </RadioGroup>
 <TextView
 android:layout_width=&quot;match_parent&quot;
 android:layout_height=&quot;wrap_content&quot;
 android:paddingTop=&quot;10.0dip&quot;
 android:text=&quot;Data de nascimento: &quot; />
 <DatePicker
 android:id=&quot;@+id/data_nascimento&quot;
 android:layout_width=&quot;match_parent&quot;
 android:layout_height=&quot;wrap_content&quot;
 android:calendarViewShown=&quot;false&quot; />
 <TextView
 android:layout_width=&quot;match_parent&quot;
Carregar mais