🚀 8.3 Design Responsivo e Qualificadores de Tela

O Android está presente em tudo, desde relógios até telas gigantes de 32 polegadas. Para o BoaViagem, aplicaremos técnicas de Design Responsivo que garantem que a interface se adapte automaticamente a qualquer densidade e tamanho de tela.

Densidades e Vetores (Imagens Premium)

Antigamente, criávamos quatro versões de cada ícone (ldpi, mdpi, hdpi, xhdpi). No Android moderno, a Engenharia Premium utiliza Vector Drawables (SVG).

  • Vantagem do Vetor: Um único arquivo .xml que se redimensiona sem perder qualidade em qualquer tela, economizando megabytes no tamanho final do app.
  • Densidades Modernas: Para fotos e imagens complexas, ainda utilizamos pastas de densidade, focando em xhdpi, xxhdpi e xxxhdpi.

Qualificadores de Layout (swdp)

A forma obsoleta de classificar telas como small ou large deu lugar à precisão do Smallest Width (sw).

  • res/layout/viagem_activity.xml: Layout padrão para smartphones.
  • res/layout-sw600dp/viagem_activity.xml: Layout otimizado para tablets de 7 polegadas.
  • res/layout-sw720dp/viagem_activity.xml: Layout expansivo para tablets de 10 polegadas.

Unidades de Medida Modernas

Para que o BoaViagem mantenha a consistência visual:

  1. dp (Density-Independent Pixels): Utilize para todas as dimensões de botões, margens e containers.
  2. sp (Scale-Independent Pixels): Utilize exclusivamente para textos. O sp respeita as preferências de acessibilidade do usuário (tamanho de fonte aumentado).

IMPORTANT

O Fim do Fixismo: Nunca utilize valores fixos em pixels (px). No Android 2023.1, com centenas de furos de câmera e bordas arredondadas, o uso correto de ConstraintLayout com dp é a única forma de garantir que seus botões não sumam ou fiquem deformados.

TIP

Utilize o WindowSizeClass (parte do Jetpack) para verificar programaticamente a categoria da janela (Compact, Medium, Expanded) em tempo de execução, permitindo que seu código Java tome decisões dinâmicas sobre a interface.


⬅️ Capítulo Anterior | Próximo Capítulo ➡️