21 Mai, 2013 14:51
Como diferenciar seu layout para tablets e smartphones em Android
Configuração res/layout
Para que seu aplicativo tenha layout específico para dispositivos disponíveis no mercado, desde o Android 3.2 é possível usar alguns sufixos para isso:
- res/layout/minha_activity.xml - para smartphones com largura menor que 600dp
- res/layout-sw600dp/minha_activity.xml - para tablets 7" com largura igual ou maior que 600dp
- res/layout-sw720dp/minha_activity.xml - para tablets 10" com largura igual ou maior que 720dp
Assim fica bem mais fácil brincar com os layouts da mesma tela. A disposição dos componentes da tela pode ser totalmente alterada, só lembrando que, como se usa a mesma Activity, retirar ou adicionar elementos deve ser feito com cuidado, pois pode gerar erros na aplicação, como NullPointerException.
Configuração res/drawable
A configuração apresentada acima também serve para as imagens que queremos disponibilizar nas diferentes resoluções. Então fica assim:
- res/drawable/minha_img.png - para smartphones com largura menor que 600dp
- res/drawable-sw600dp/minha_img.png - para tablets 7" com largura igual ou maior que 600dp
- res/drawable-sw720dp/minha_img.png - para tablets 10" com largura igual ou maior que 720dp
Outras formas de diferenciação
Essas configurações apresentadas são bem básicas e servem principalmente para diferenciar o layout de smartphones e tablets. Mas há também a possibilidade de adicionar mais características, fazendo layouts mais específicos ainda. Esses sufixos, que serão apresentados abaixo, servem tanto para res/layout quanto para res/drawable.
Tamanho da tela
- small
- normal
- large
- xlarge
Densidade da tela
- ldpi
- mdpi
- hdpi
- xhdpi
- nodpi
- tvdpi
Orientação da tela
- land
- port
Essas são algumas das caraterísticas que podemos utilizar. Também há forma de definir o idioma, basta colocar o sufixo, por exemplo, es (para espanhol), pt (para português), en (para inglês). Lembrando que tanto a pasta res/layout quanto a res/drawable são as pastas padrão do seu projeto.
A brincadeira fica mais legal quando você mistura tudo isso. Por exemplo, res/drawable-pt-sw600dp, que possui imagens para tablets e com o idioma português.
Para mais detalhes, clique aqui.