Expliquer la différence entre drawable, drawable-ldpi, drawable-mdpi et drawable-hdpi
J'ai une idée approximative de ce que chacun de ces répertoires sont pour, mais je ne suis pas vraiment clair sur le concept, et j'ai quelques questions spécifiques.
Par exemple, ce que sont la cible de l'indicateur de performance pour chaque répertoire? Lorsque vous créez un atout, devrait-elle être à la cible DPI ou devrait-il être le plus normal 72dpi écran DPI? Si vous ciblez plusieurs appareils, est-il toujours approprié de mettre un PNG dans drawable ou faut-il toujours avoir plusieurs versions légèrement adaptée aux écrans?
Grâce.
source d'informationauteur Steve Prentice
Vous devez vous connecter pour publier un commentaire.
Comme les autres l'ont suggéré, l'Android à la documentation en ligne a beaucoup d'articles sur ce. Cependant, je vais essayer de faire la liste ici quelques rapides et utiles conseils:
1
. Ensuite, LDPI est0.75
et HDPI est1.5
. Ce que cela signifie est que si vous avez un drawable qui est, disons,50x50
sur un MDPI écran, il devra être~37x37
sur un LDPI écran et75x75
sur un HDPI écran, afin d'apparaître à peu près la même taille physique sur chaque écran (c'est à dire 2cm si vous placez une règle sur l'écran). Aussi, l'écran de votre ordinateur est probablement MDPI, qui est pourquoi il est recommandé de commencer avec MDPI un drawable et puis les redimensionner: le taille physique de la drawable sera très proche entre l'écran de votre ordinateur et un MDPI appareil Android. Si vous affichez un HDPI drawable sur votre ordinateur et sur un HDPI appareil, vous remarquerez que c'est beaucoup plus (encore une fois, physiquement -- mettre une règle sur ce style) sur l'écran du PC.ListView
pouvez afficher les 5 éléments sur un MDPI de l'appareil, il pourrait être en mesure de montrer de 6 pièces sur un HDPI appareil, en dépit du fait que leListView
les éléments ont la même densité-indépendants (c'est à dire 1,5 fois plus grand sur HDPI que sur MDPI) de hauteur.Je suis peut être allé un peu hors-sujet, mais ce sont des choses que j'ai apprises dans le temps par se taper la tête contre eux. Essaie juste de sauver quelqu'un d'autre mal de tête 🙂
Désolé, mais Android a un grand document en ligne avec des exemples, donc, pour ce type de question, la réponse est:
http://developer.android.com/guide/practices/screens_support.html
Il n'y a pas exact DPI valeurs pour chaque dossier. Chaque dossier est lié à une certaine gamme. Voir ici: http://developer.android.com/guide/practices/screens_support.html
Ces répertoires doivent tenir drawable ressources optimisées pour certains densité de l'écran. Vous pouvez tenir juste un drawable pour HDPI ou tout autre, mais sur des appareils avec d'autres paramètres de résolution de l'image sera redimensionnée en quelque sorte, et il faudra du temps ou de ressources. Aussi faible DPI image sera mauvais sur les appareils avec HDPI.
En raison de différentes taille de l'écran et des résolutions, Android vous permet d'organiser votre drawable les images selon les dossiers. Des Images de haute résolution d'affichage doivent être placés dans hdpi et, de même, mdpi et ldpi. Le dossier par défaut pour l'un drawable est un drawable si le système d'exploitation ne correspond pas à tous les dpi ou catégorie de ressources n'est pas trouvé de spécial dpi répertoires le système choisit la ressource à partir de l'un drawable répertoire.
La taille ne sont pas exactes, mais jusqu'à 130dpi il est considéré comme petit, de 130 à 180 il peut être considéré comme mdpi, de 180 à 200 il peut être considéré comme hdpi et la plus élevée est classé comme xdpi.
http://developer.android.com/guide/practices/screens_support.html