7

Je réalise que ce sujet a été couvert à mort, et j'ai lu les guides de développeur officiels et officieux à ce sujet, donc connaître la théorie. Mais je ne suis toujours pas sûr du chemin à suivre pour que mon application semble bien sur plusieurs tailles d'écran. Mon application est une application de style de navigation simple qui est conçue pour être uniquement en mode portrait. À ce stade, je ne suis pas intéressé par des conceptions différentes pour les écrans paysage ou multi-vitres pour les tablettes, etc. Je veux juste que chaque écran soit mis à l'échelle pour qu'il soit proportionnel à la taille de l'écran sur lequel il est affiché. le texte et les images sont classés selon les besoins. J'ai conçu l'application pour un dispositif de hdpi 480x800 classique qui il ressemble beaucoup, je veux juste faire paraître en proportion pour le Galaxy S3/Nexus 7 etc. Je suis déjà en suivant ces directives:Android - techniques communes pour la mise à l'échelle des mises en page d'écran

  • Utilisation RelativeLayouts
  • en utilisant des unités DP pour le remplissage/marges
  • Utilisation des unités de SP pour les polices
  • Utilisation d'images 9-patch pour les boutons

Cependant je trouve, il semble encore petit et un peu perdu au milieu de la scr een sur les plus gros appareils. En particulier, mon écran de menu principal est une grille de 6 boutons d'image que je n'arrive pas à bien mettre à l'échelle. Je ne veux pas avoir plusieurs copies à maintenir du même écran (normal/large/xlarge), je veux juste une mise en page. Je considérais ce qui suit:

  • En utilisant la valeur normale/valeur des dossiers volumineux, etc. pour stocker des fichiers XML avec des valeurs DP/SP pour les tailles d'images/texte
  • Modification RelativeLayouts à LinearLayouts avec des poids (bien que je d'abord lutté avec LinearLayouts et changé pour RelativeLayouts

est-ce l'une de ces approches valides, ou est-il une meilleure approche?

+0

Je ne sais pas si c'est une bonne méthode ou non, mais vous pouvez obtenir les dimensions de l'appareil au moment de l'exécution et mettre à l'échelle vos dispositions/vue en conséquence. L'utilisation de 'layout-weight' est également une bonne solution. – JiTHiN

Répondre

1

Personnellement, j'aller avec la première option. bien que cela fonctionne bien pour les téléphones, ça va Je fais que la mise en page semble un peu gonflée sur les tablettes. Par conséquent, une autre approche consisterait à créer des dispositions distinctes pour les tablettes et à les placer dans les dossiers layout-large et layout-xlarge pour les tablettes de 7 "et 10" respectivement.

+0

Merci, cela semble le chemin à parcourir. –

Questions connexes