Pergunta

De acordo com os recursos de gerenciamento (imagens) na versão> Android 1.6, precisamos manter a imagem de resoluções diferentes na pasta Drawable-HDPI, Drawable-MDPI e Drawable-LPI, em particular.

E de acordo com esta página: http://developer.android.com/guide/practices/screens_support.html ,

Na seção de baixa densidade - existem três resoluções utilizadas: 240*320, 240x400, 240x432 para a tela pequena, tela normal, tela grande, particularmente.

Da mesma maneira para a seção de densidade média - existem três resoluções usadas: 320x480, 480x800, 480x854 para a tela pequena, tela normal, tela grande, particularmente.

e da mesma maneira para a alta densidade ........

Mas estou confuso aqui:

(1) Como faço para saber que, se é usado uma tela pequena, normal ou grande, quero dizer, existe alguma maneira de saber?

(2) Como faço para saber que tipo de densidade estou usando?

(3) e na pasta Drawable-HDPI, Drawable-MDPI, Drawable-LDPI, qual imagem da resolução devemos manter particularmente?

Por favor, compartilhe seu conhecimento.

Foi útil?

Solução

Existem chamadas específicas de API Android que podem, em tempo de execução, informar qual densidade e (pequeno/grande/normal) tamanho da tela um aparelho possui. No entanto, como desenvolvedor, não precisamos nos preocupar com aparelhos individuais. Tudo o que precisamos fazer é ter ativos LDPI/MDPI/HDPI e layouts pequenos/normais/grandes no APK. O Android lida internamente tudo.

Não se esqueça de ter uma compreensão aprofundada de como o Android determina quais ativos usar e alias aqui.

Outras dicas

Por que você quer saber a densidade real? É o negócio do Android. Mas tenho certeza de que há uma maneira de recuperar essas informações.

Para o desenvolvimento, coloquei tudo no HDPI-Folder. Eu também poderia colocar tudo em uma pasta general desenhada.

Na época em que você publica, você pode decidir se deseja fornecer recursos já reduzidos para LDPI e MDPI. No entanto, isso não é necessário.

Atualizar: Recuperar a densidade real com esta classe e Melhores Práticas

Atualização 2: Encontrei um vídeo de 25 minutos da Motorola discutindo todas essas questões: Trabalhando com várias telas

1) Altere o conteúdo do layout em diferentes pastas, ou seja, um layout, largo de layout, etc. agora teste-o em um emulador diferente com uma resolução de tela diferente.

2) para descobrir a densidade do uso do dispositivo
Log.d("Density", "" + (getResources().getDisplayMetrics().density));

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top