Upload
marcio-palheta
View
1.395
Download
1
Embed Size (px)
DESCRIPTION
Neste capítulo descrevemos como trabalhar com layouts personalizados, carregados pelo Application Resources, de acordo com características do device
Citation preview
Capítulo 11: Melhorando a usabilidade
M.Sc. Márcio Palheta
Instrutor
● Programador desde 2000
● Aluno de doutorado
● Mestre em informática pelo ICOMP/UFAM
● Especialista em aplicações WEB – FUCAPI
● sites.google.com/site/marciopalheta
M.Sc. Márcio Palheta
3/27
Agenda
● Na estrada, até aqui
● Aproveitando melhor o espaço da ListView, quando o device está na Horizontal
● Application Resources e os Qualifiers
● Novos layouts para Menu e ListView
M.Sc. Márcio Palheta
4/27
Espaço ainda não aproveitado
● Device na Vertical ● Device na Horizontal
M.Sc. Márcio Palheta
5/27
Espaço ainda não aproveitado
● Device na Vertical ● Device na HorizontalPodemos exibir mais ícones
de itens do menu
M.Sc. Márcio Palheta
6/27
Espaço ainda não aproveitado
● Device na Vertical ● Device na Horizontal
Podemos aproveitar para exibirNúmero de telefone e E-mail do aluno
Podemos exibir mais ícones de itens do menu
M.Sc. Márcio Palheta
7/27
Pensando no assunto
● A princípio, podemos escrever um XML para ser usado quando o device está na vertical (já implementado) e
● Outro que será usado quando o layout estiver na horizontal (este ainda não foi implementado)
● O nosso desafio é: Como carregar o layout correto, de acordo com a orientação do dispositivo?
● Poderíamos implementar alguns if's para resolver o problema...
● Mas o android já tem a solução para esse problema
● Inclusive, já usamos para escolher imagens da App
M.Sc. Márcio Palheta
8/27
Application Resources
● O Android oferece suporte simples a dispositivos com diferentes Versões de Android, diversas Densidades e Tamanhos de tela
● Qualifiers: representam características do device
● Qualifiers de Densidade de tela:
– xhdpi (extrema), hdpi (alta), mdpi (média) e ldpi (baixa)● Pastas qualificadas: drawable-xhdpi ou drawable-mdpi
● O Application Resources carrega as imagens, conforme a densidade da tela do device
● Qualifier para orientação horizontal: land
M.Sc. Márcio Palheta
9/27
Exercício 01: Novo layout
● Crie a pasta /res/layout-land e crie o arquivo item.xml
M.Sc. Márcio Palheta
10/27
Exercício 01: Novo layout
● Crie a pasta /res/layout-land e crie o arquivo item.xml
Layout utilizado
M.Sc. Márcio Palheta
11/27
Exercício 01: Novo layout
● Crie a pasta /res/layout-land e crie o arquivo item.xml
M.Sc. Márcio Palheta
12/27
Exercício 01: Novo layout
● Crie a pasta /res/layout-land e crie o arquivo item.xmlFoto do aluno
M.Sc. Márcio Palheta
13/27
Exercício 01: Novo layout
● Crie a pasta /res/layout-land e crie o arquivo item.xmlFoto do aluno
Nome do aluno
M.Sc. Márcio Palheta
14/27
Exercício 01: Novo layout - FIM
● Crie a pasta /res/layout-land e crie o arquivo item.xml
M.Sc. Márcio Palheta
15/27
Exercício 01: Novo layout - FIM
● Crie a pasta /res/layout-land e crie o arquivo item.xmlTelefone do aluno
M.Sc. Márcio Palheta
16/27
Exercício 01: Novo layout - FIM
● Crie a pasta /res/layout-land e crie o arquivo item.xmlTelefone do aluno
E-mail do aluno
M.Sc. Márcio Palheta
17/27
Exercício 02: Carregar novos campos● Altere o método ListaAlunoAdapter.getView()
M.Sc. Márcio Palheta
18/27
Exercício 02: Carregar novos campos● Altere o método ListaAlunoAdapter.getView()
M.Sc. Márcio Palheta
19/27
Exercício 02: Carregar novos campos● Altere o método ListaAlunoAdapter.getView()
M.Sc. Márcio Palheta
20/27
Exercício 03: Exibindo mais ícones
● Crie a pasta qualificada:
– /res/menu-land● Na pasta nova, crie o
arquivo:
– menu_principal.xml● Altere o arquivo com os
dados que estão na figura ao lado
M.Sc. Márcio Palheta
21/27
Execute a aplicação
● Device na Vertical
M.Sc. Márcio Palheta
22/27
Execute a aplicação
● Device na Vertical ● Device na Horizontal
M.Sc. Márcio Palheta
23/27
Execute a aplicação
● Device na Vertical ● Device na Horizontal
M.Sc. Márcio Palheta
24/27
Execute a aplicação
● Device na Vertical ● Device na Horizontal
M.Sc. Márcio Palheta
25/27
O que vem a seguir?
● Fragments
● Google Maps
● GPS
M.Sc. Márcio Palheta
26/27
Referências
● www.caelum.com.br● d.android.com● LECHETA, Ricardo. Google Android, 3a edição,
Novatec, São Paulo, 2013● Código fonte completo:
https://github.com/marciopalheta/cursosandroid
Capítulo 11: Melhorando a usabilidade