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.

Ao navegar neste site, você consente o uso de cookies nossos e de terceiros, que coletam informações anônimas e são essenciais para melhorar sua experiência em nosso site.