🚀 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
.xmlque 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,xxhdpiexxxhdpi.
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:
- dp (Density-Independent Pixels): Utilize para todas as dimensões de botões, margens e containers.
- sp (Scale-Independent Pixels): Utilize exclusivamente para textos. O
sprespeita 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 deConstraintLayoutcomdpé 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.