Boa tarde pessoal,Estou a criar uma app a qual pretendo que execute em qualquer tamanho de ecrã. Tenho várias activities e layouts com botões, spinners, imageviews, textviews, webviews, etc... Utilizo sempre para definir o tamanho dos meus views a medida dp e quase sempre relativelayouts. A minha pergunta é a seguinte, se eu definir um ficheiro de layout para cada /layout-large, layout-small, e layout com as respectivas alterações nas dimensões de cada view, asseguro que a minha app fica convenientemente apresentável para todos os ecrãs? Ou que mais tenho que assegurar?Estou a ter particular dificuldade com esta parte do layout e já li pesquisei e li muita coisa, incluindo http://developer.and...s_support.html. Mas continuo com duvidas.. :sObrigado por qualquer resposta
Layout certinho em todos os screens, como assegurar?
Iniciado por
tmma
, May 04 2011 12:12
5 respostas a este tópico
#1
Mensagem publicada 04 May 2011 - 12:12
#2
Mensagem publicada 04 May 2011 - 12:34
Em principio, basta-te declarar para cada um dos layouts e não deverás ter problemas. Assegura-te que usas sempre unidades como dp e sp (widgets e text).
#3
Mensagem publicada 04 May 2011 - 12:57
Nice. :)Outra coisa, como também uso imagens, devo meter cada imagem replicada em drawable-hdpi, drawable-ldpi, e drawable-mdpi? Não percebo bem para que serve esta diferenciação, se o android redimensiona automaticamente as imagens, acho eu.A minha intenção é que as imagens mantenham o aspect ratio mas acho que não é para esse propósito que servem estas diferentes pastas.
#4
Mensagem publicada 04 May 2011 - 14:30
Acho que já percebi a parte das varias pastas drawable.Uma outra questão, eu se definir por exemplo 18sp para o texto de um textview, num screen normal o texto parece-me bem, mas num screen small o texto parece grande demais. Não há forma de contornar isto?cumps
#5
Mensagem publicada 04 May 2011 - 16:00
Sim há, fazes uma medida diferente para o layout ldpi. Podes até manter o mesmo layout, e na parte da dimensão usar as pastas values-hdpi, values-mdpi .. etc, e em cada um dessas colocar um XML que é um array de Dimensions. Depois no teu layout em vez de usar 18sp, usas tipo "@dimenParaEsteElem", e em tempo de execução o Android vai buscar esse valor à respetiva pasta.Espero ter-me feito explicar bem
#6
Mensagem publicada 04 May 2011 - 22:44
i think i got it! ainda não tinha utilizado as pastas values. depois experimento, thanks