Android classifica as telas de dispositivos usando duas propriedades
gerais: tamanho e densidade. Você deve esperar que seu aplicativo fosse
instalado em dispositivos com telas de varias faixas de tamanho e densidade.
Para tanto, você deve incluir alguns recursos alternativos que aperfeiçoam a
aparência de seu aplicativo para diferentes tamanhos de tela e densidades.
·
Existem quatro tamanhos generalizados: pequeno (small), normal, grande (large)
e extragrande (xlarge).
·
E quatro densidades generalizadas: baixa (ldpi) media (mdpi), alta
(hdpi) e extra-alta (xhdpi).
Para declarar diferentes esboços e bitmaps que você gostaria de usar
para diferentes telas, você deve guardar estes recursos alternativos em diretórios
separado, similar a maneira feita para o texto de diferentes idiomas.
Esteja alerta também de orientação da tela (retrato ou paisagem) é
considerada uma variação do tamanho de tela, portanto vários aplicativos devem
revisar o esboço para melhorar a experiência do usuário em cada orientação.
Criando Vários Esboços
Para melhorar a sua experiência de usuário em diferentes telas, você
deve criar um único arquivo XML de esboço para cada tamanho de tela que deseje
suportar. Cada esboço deve ser salvo dentro do diretório de recursos
apropriados, nomeado com o sufixo -<screen_size>. Por exemplo, único esboço para tela grande deve
ser salvo em res/layout-large/.
Nota: Android automaticamente dimensiona
seu esboço para que se encaixe apropriadamente na tela. Portanto, seu esboço
para diferentes tamanhos de tela não precisa se preocupar com o tamanho
absoluto dos elementos de interface, mas sim com o foco do esboço da estrutura
que afeta a experiência do usuário (tais como o tamanho ou posição de visualizações
relativas às visualizações derivadas).
Por exemplo, este projeto inclui o esboço padrão e um esboço alternativo
para telas grandes:
MyProject/
res/
layout/
main.xml
layout-large/
main.xml
Os nomes dos arquivos devem ser exatamente iguais, mas o conteúdo deles
serão diferente para que forneçam uma interface melhorada para o tamanho de
tela correspondente.
Simplesmente referencie o arquivo de esboço em seu aplicativo como
sempre faz:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
O sistema carrega o arquivo de esboço a partir do diretório de esboço
apropriado através do tamanho de tela do dispositivo no qual seu aplicativo
está rodando. Mais informações de como o Android seleciona o recurso apropriado
está disponível no guia Fornecendo Recursos.
Outro exemplo, aqui está o projeto com o esboço alternativo para uma
orientação de paisagem:
MyProject/
res/
layout/
main.xml
layout-land/
main.xml
Por padrão, o arquivo de layout/main.xml é utilizado na
orientação de retrato.
Se você quer fornecer um esboço especial para paisagem, incluindo para telas
grandes, então você precisa de ambos os qualificadores large e land:
MyProject/
res/
layout/ # default (portrait)
main.xml
layout-land/ # landscape
main.xml
layout-large/ # large (portrait)
main.xml
layout-large-land/ # large landscape
main.xml
Nota: Android 3.2 e acima suportam um método
avançado para definição de tamanho de telas que permite a você especificarem os
recursos de tamanho de tela baseado no mínimo de largura e altura em termos independentes
da densidade dos pixeis. Esta postagem não explica está nova técnica. Para
maiores informações, leia Projetando para varias Telas.
Criando Vários Bitmaps
Você deve sempre fornecer recursos de bitmap que estejam apropriadamente
proporcionais a cada recipiente de densidade generalizado: densidade pequena, média,
grande e extragrande. Isto ajuda você a conseguir um bom desempenho e qualidade
gráfica em todas as densidades de tela.
Para gerar tais imagens, você deve iniciar seu recurso em formato de
vetor e gerar as imagens para cada densidade usando as seguintes escalas de
tamanho:
·
xhdpi: 2.0
·
hdpi: 1.5
·
mdpi: 1.0 (patamar)
·
ldpi: 0.75
Isto significa que você deve gerar imagens 200x200 para dispositivos
xhdpi, você deve gerar o mesmo recurso em 150x150 para hdpi, 100x100 para mdpi
e 75x75 para dispositivos ldpi.
Então, colocar os arquivos no diretório de mapeamento de recurso apropriado:
MyProject/
res/
drawable-xhdpi/
awesomeimage.png
drawable-hdpi/
awesomeimage.png
drawable-mdpi/
awesomeimage.png
drawable-ldpi/
awesomeimage.png
Sempre que referir @drawable/awesomeimage, o sistema
seleciona o bitmap apropriado baseado na densidade da tela.
Nota: Recursos de baixa densidade (ldpi) não são
sempre necessários. Quando você fornece valores hdpi, o sistema redimensiona
para metade do tamanho para se encaixar apropriadamente nas telas ldpi.
Para mais dicas e instruções de como criar ícones para seu aplicativo,
veja Guia de desenho
para Iconografia.
Nenhum comentário:
Postar um comentário