Problema com resolução de tela

10 respostas
anderson.bonavides

Pessoal qual a melhor solução para resolver problemas com resolução de telas para diversos aparelhos android?
Exemplo: Sansung Galaxy: S, SII, S3, S4, NOTE II…

10 Respostas

Marky.Vasconcelos

Perceba que todos os devices que voce citou são definidos como tendo telas NORMAL (nos Notes são LARGE num tamanho normal).

Já é um bom parametro para codificar seus layouts.

anderson.bonavides

Marky.Vasconcelos:
Perceba que todos os devices que voce citou são definidos como tendo telas NORMAL (nos Notes são LARGE num tamanho normal).

Já é um bom parametro para codificar seus layouts.

Desculpe-me pela ignorância no assunto mas para mim ainda não parece uma boa resposta, os resultados que tive foram os seguintes:
Sansunga Galaxy S - Os dados (textos) da tela ficou um pouco maior do que o esperado.
Sansunga Galaxy SII - Os dados (textos) da tela ficou no tamanho ideal que foi desenvolvido.
Sansunga Galaxy S3 - Os dados (textos) ficaram muito pequenos.
Sansunga Galaxy S4 - Os dados (textos) ficaram muito pequenos.
Sansunga Galaxy NOTE II - Não realizei testes pois a tela é bem maior do que os anteriores.

anderson.bonavides

Isto é como minha tela fica em uma resolução maior.


V

Eu já ouvir falar aqui no fórum, mas nunca fiz, você cria uma pasta chamada layout-large(Acho que é assim) e copia seu layout original para esta pasta e muda a largura/altura dos componentes.

Artur_Bernardo

Agora que percebi… tu ta fazendo um APP da tabela da série D? hehehehe

Muito bom!

anderson.bonavides

Artur Bernardo:
Agora que percebi… tu ta fazendo um APP da tabela da série D? hehehehe

Muito bom!

Isso mesmo, infelizmente não terá atualização automática pois eu não tenho como hospedar um web-service.

Marky.Vasconcelos

Você já está usando as praticas recomendadas para layout?

Declarando tamanhos absolutos com dp invés de px
E tamanhos de fontes com sp invés de qualquer outra coisa?

DP = Density Independent Pixels, eles são calculados por devices baseado na densidade, então algo com 48dp ficarão “aproximadamente iguais” em devices diferentes enquanto 48px nunca estarão a não ser que resolução/densidade sejam iguais.

SP = Scaled Points, esse valor é dependente de device e pode ser ajustado pelo usuario em “tamanho de fontes” no device e afeta todas aplicações.

Usar wrap_content e match_parent nos lugares certos também ajuda.

E weight em LinearLayouts podem distribuir seus componentes no tamanho total do parent.

Criar recursos alternativos (layout-large/xlarge/normal/etc) é indicado caso alguma coisa realmente mude na apresentação da tela baseado no tamanho, mas manter N recursos alternativos pode ser dificil também, se apenas as dimensões forem mudar por tela prefira usar @dimens/algum-id como valores de width/height nos componentes e crie recursos alternativos apenas em dimens.xml

anderson.bonavides

Marky.Vasconcelos:
Você já está usando as praticas recomendadas para layout?

Declarando tamanhos absolutos com dp invés de px
E tamanhos de fontes com sp invés de qualquer outra coisa?

DP = Density Independent Pixels, eles são calculados por devices baseado na densidade, então algo com 48dp ficarão “aproximadamente iguais” em devices diferentes enquanto 48px nunca estarão a não ser que resolução/densidade sejam iguais.

SP = Scaled Points, esse valor é dependente de device e pode ser ajustado pelo usuario em “tamanho de fontes” no device e afeta todas aplicações.

Usar wrap_content e match_parent nos lugares certos também ajuda.

E weight em LinearLayouts podem distribuir seus componentes no tamanho total do parent.

Criar recursos alternativos (layout-large/xlarge/normal/etc) é indicado caso alguma coisa realmente mude na apresentação da tela baseado no tamanho, mas manter N recursos alternativos pode ser dificil também, se apenas as dimensões forem mudar por tela prefira usar @dimens/algum-id como valores de width/height nos componentes e crie recursos alternativos apenas em dimens.xml

Algum material mais detalhado sobre o assunto?

JavaDreams

Ahhh como podiam tanto montar um padrão de convenção para esses problemas serem resolvidos…

Torço para que isso seja realidade algum dia.

Desculpa não saber ajudar mas nesses casos prefiro sempre usar os mais simples que rodam
na maioria dos aparelhos.

Marky.Vasconcelos

anderson.bonavides:
Marky.Vasconcelos:
Você já está usando as praticas recomendadas para layout?

Declarando tamanhos absolutos com dp invés de px
E tamanhos de fontes com sp invés de qualquer outra coisa?

DP = Density Independent Pixels, eles são calculados por devices baseado na densidade, então algo com 48dp ficarão “aproximadamente iguais” em devices diferentes enquanto 48px nunca estarão a não ser que resolução/densidade sejam iguais.

SP = Scaled Points, esse valor é dependente de device e pode ser ajustado pelo usuario em “tamanho de fontes” no device e afeta todas aplicações.

Usar wrap_content e match_parent nos lugares certos também ajuda.

E weight em LinearLayouts podem distribuir seus componentes no tamanho total do parent.

Criar recursos alternativos (layout-large/xlarge/normal/etc) é indicado caso alguma coisa realmente mude na apresentação da tela baseado no tamanho, mas manter N recursos alternativos pode ser dificil também, se apenas as dimensões forem mudar por tela prefira usar @dimens/algum-id como valores de width/height nos componentes e crie recursos alternativos apenas em dimens.xml

Algum material mais detalhado sobre o assunto?

Na verdade não, mas você pode ver mais nesses links:

http://developer.android.com/guide/practices/screens_support.html
http://developer.android.com/training/multiscreen/index.html
http://developer.android.com/training/multiscreen/screensizes.html

Criado 12 de agosto de 2013
Ultima resposta 16 de ago. de 2013
Respostas 10
Participantes 5