Fala galera, dei uma boa procurada mas não achei nada sobre isso no forum…
Quem desenvolve para android com certeza ja teve problemas com os diferente tamanhos e resoluções do android… Gostaria de saber qual a melhor maneira de resolver estes problemas. Estou tentando fazer proporcionalmente, ou seja, pegar a altura e a largura da tela e montar o layout dinamicamente, mas acho que não é a melhor solução…
Cara, o android possui recursos que facilitam (E MUITO) a criação de múltiplas resoluções.
No meu caso, eu prefiro fazer um arquivo de layout modificando apenas as imagens que serão carregadas a partir da densidade da tela do aparelho (Que já é automatico -> drawable-ldpi, mdpi, hdpi).
Um dos conceitos para se fazer isto é a utilização da propriedade ‘WEIGHT’ ou ‘PESO’ nos gerenciadores de layout, e tamém o de ‘GRAVITY’.
Basicamente, você precisa procurar padrões na montagem da sua tela que ajuste as mesmas proporcionalmente quando a densidade (ou resolução) mudar.
[quote=felipebonezi]Cara, o android possui recursos que facilitam (E MUITO) a criação de múltiplas resoluções.
No meu caso, eu prefiro fazer um arquivo de layout modificando apenas as imagens que serão carregadas a partir da densidade da tela do aparelho (Que já é automatico -> drawable-ldpi, mdpi, hdpi).
Um dos conceitos para se fazer isto é a utilização da propriedade ‘WEIGHT’ ou ‘PESO’ nos gerenciadores de layout, e tamém o de ‘GRAVITY’.
Basicamente, você precisa procurar padrões na montagem da sua tela que ajuste as mesmas proporcionalmente quando a densidade (ou resolução) mudar.
quando seu layout é baseado apenas em imagens essa solução atende seu problema, mais quando vc começa a inserir componentes do proprio android (spinner, textView, etc), e começa a utilizar por exemplos os layouts (LinearLayout, FrameLayout, RelativeLayout) ja não atende mais. a causa disso é que quando vc vai utilizar aparelhos por exemplo com a versão 3.2 do android a resolução é totalmente diferente e vc vai ver que seus componentes vao ficar minusculos, a pouco tempo atras eu estava pequisando sobre isso, e descobri que vc pode criar diretorios de layout especificos para versões resoluções de telas especificas, por exemplo se vc ta utilizando a versao 3.2 sdk 13 se eu nao me engano, basta criar um layout especifico para essa versão, criando um diretorio layout-v13 e salvando seus xml’s modificados dentro dessa pasta, se vc for trabalhar com telas grandes pode ter tb, layout-large, entre outros. Dá uma olhada nesse link que explica melhor.
[quote=danilorangelmg]quando seu layout é baseado apenas em imagens essa solução atende seu problema, mais quando vc começa a inserir componentes do proprio android (spinner, textView, etc), e começa a utilizar por exemplos os layouts (LinearLayout, FrameLayout, RelativeLayout) ja não atende mais. a causa disso é que quando vc vai utilizar aparelhos por exemplo com a versão 3.2 do android a resolução é totalmente diferente e vc vai ver que seus componentes vao ficar minusculos, a pouco tempo atras eu estava pequisando sobre isso, e descobri que vc pode criar diretorios de layout especificos para versões resoluções de telas especificas, por exemplo se vc ta utilizando a versao 3.2 sdk 13 se eu nao me engano, basta criar um layout especifico para essa versão, criando um diretorio layout-v13 e salvando seus xml’s modificados dentro dessa pasta, se vc for trabalhar com telas grandes pode ter tb, layout-large, entre outros. Dá uma olhada nesse link que explica melhor.
Olá pessoal, como posso resolver o problema de suporte a múltiplos tamanhos telas para dispositivos que não seguem o padrão?
Exemplo, tenho um tablet de 7’’ da multilaser, o qual possui resolução 480x800 (vertical) e 800x480 (horizontal). Com relação a orientação do dispositivo, não tenho problema, pois posso fazer um layout-land específico ou travar a tela no manifest para que fique em somente uma orientação. Porém, em testes realizados, percebi que este tablet possui densidade em 120dpi, conforme no guia android (http://developer.android.com/guide/practices/screens_support.html), 120dpi é considerado um low dpi, ou seja, small. Segundo aquele guia, uma tela de 7’’ polegadas deveria ter no mínimo uns 200dpi pra ser considerado um high dpi. Devido a isso, tenho problemas quanto aos imageviews, imagebuttons, etc, pois o android não pega as imagens maiores na pasta drawable-hdpi.
Como posso resolver este problema??? Algum de vcs já enfrentou este tipo de situação???
Fiz tbm testes com o tablet motorola Xoom (10.1" polegadas), o qual possui resolução 800x1232, e densidade em 160dpi ( é considerado medium), o qual deveria ser no mínimo uns 280dpi (xLarge)