Android – techniques courantes pour la mise à l'échelle des mises en page

Je me rends compte que ce sujet a été couvert à mort, et j'ai lu les guides de développeurs officiels et non officiels pour connaître la théorie. Mais je ne suis toujours pas sûr du chemin à suivre pour m'assurer que mon application est bonne sur plusieurs tailles d'écran. Mon application est une application de style de navigation simple conçue pour être uniquement portrait. À ce stade, je ne suis pas intéressé à faire des conceptions différentes pour les écrans de paysage ou multi-panneaux pour les tableaux, etc. Je veux juste que chaque écran soit mis à l'échelle / bas, de sorte qu'il semble proportionnellement à la taille de l'écran sur laquelle il est affiché – c.-à-d. Le texte et les images sont dimensionnés en haut / en bas, le cas échéant. J'ai conçu l'application pour un périphérique classique de 480×800 hdpi dont il a l'air génial, je veux simplement faire en sorte que le Galaxy S3 / Nexus 7 soit proportionnellement. Je suis déjà conforme à ces instructions:

  • Utilisation de RelativeLayouts
  • Utilisation d'unités DP pour rembourrage / marges
  • Utilisation des unités SP pour les polices
  • Utilisation des images à 9 patch pour les boutons

Cependant, je trouve que cela semble petit et un peu perdu au milieu de l'écran sur les périphériques plus grands. En particulier, mon écran de menu principal est une grille de 6 boutons d'image que je ne peux pas bien équilibrer. Je ne veux pas avoir plusieurs copies pour maintenir le même écran (normal / grand / xlarge), je veux juste une disposition. Je considérais ce qui suit:

  • Utiliser des dossiers de valeur normale / valeur-large etc. pour stocker des fichiers XML avec des valeurs DP / SP pour les tailles d'images / texte
  • Modification de RelightLayouts à LinearLayouts avec des poids (bien que j'ai d'abord lutté avec LinearLayouts et changé en RelativeLayouts

L'une ou l'autre de ces approches valides, ou est-ce qu'il y a une meilleure approche?

One Solution collect form web for “Android – techniques courantes pour la mise à l'échelle des mises en page”

Personnellement, j'irais avec la première option. Bien que cela fonctionne bien pour les téléphones, il fera que la mise en page semble bloquée sur les tablettes. Par conséquent, une autre approche serait de créer des mises en page séparées pour les tablettes et de les placer dans les dossiers de layout-xlarge et layout-large layout-xlarge pour les tablettes de 7 "et 10" respectivement.

coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.