web-dev-qa-db-fra.com

Android hdpi/mdpi/ldpi pour le dossier Values?

Android nous permet de définir hdpi/mdpi/ldpi pour le dossier pouvant être dessiné afin de prendre en compte des écrans/appareils de tailles différentes. Je me demandais si ce même support pouvait être appliqué au dossier Values ​​(ou même au dossier de présentation)? Raison d'être, je définis généralement un fichier "tailles.xml" qui contient les tailles de dp standard que j'applique aux marges et aux bourrages. Je fais aussi la même chose pour les tailles de texte. J'aimerais ajuster ces valeurs en fonction de la résolution des téléphones.

20
Jay Soyer

Oui, je pense que tout ce qui se trouve dans le dossier res/ peut utiliser des "qualificateurs de configuration". Ainsi, par exemple, vous pouvez avoir un dossier values-sw600dp-mdpi-land/.

Voir "Utilisation des qualificateurs de configuration": http://developer.Android.com/guide/practices/screens_support.html#qualifiers

J'ai d'abord remarqué cela en consultant l'exemple de code de l'application IOSched de Google, dans le dossier res: https://github.com/google/iosched/tree/master/Android/src/main/res

Vous verrez qu'ils ont les dossiers "values-sw600dp-land", "values-w400dp" et "values-v17", pour n'en nommer que quelques-uns.

26
Sam Dozor

Oui, vous pouvez. Juste comme ça:

res/values/dimens.xml(default)
res/values-ldpi/dimens.xml   (240x320 and nearer resolution)
res/values-mdpi/dimens.xml   (320x480 and nearer resolution)
res/values-hdpi/dimens.xml   (480x800, 540x960 and nearer resolution)
res/values-xhdpi/dimens.xml  (720x1280 - Samsung S3, Micromax Canvas HD, etc) 
res/values-xxhdpi/dimens.xml (1080x1920 - Samsung S4, HTC one, etc)
res/values-large/dimens.xml  (480x800)

res/values-large-mdpi/dimens.xml (600x1024)
res/values-sw600dp/dimens.xml  (600x1024)
res/values-sw720dp/dimens.xml  (800x1280)
res/values-xlarge-xhdpi/dimens.xml (2560x1600 - Nexus 10")
res/values-large-xhdpi/dimens.xml  (1200x1920 - Nexus 7"(latest))

(from: http://wiki.jikexueyuan.com/project/Android-actual-combat-skills/multi-resolution-adapting-common-directory.html Attention: le lien est chinois !!! Pour traduire, faites un clic droit sur la page, cliquez sur "Traduire en anglais" dans le menu contextuel.)

26
Kai Wang

Comme les dossiers de valeurs sont mieux adaptés à la définition de marges et de tailles de police différentes en fonction de la résolution du périphérique, bien que certains périphériques hdpi prennent des valeurs à partir de values-xhdpi ..__, utilisez plutôt values-normal-hdpi, mais non réponse appropriée. 

En l'utilisant, nous pouvons également supprimer le besoin de dossiers de disposition différents en définissant différentes tailles et dps dans les dossiers de valeurs afin de prendre en charge les téléphones et les tablettes très facilement.

3
Mihir Shah

Oui, vous pouvez définir les fichiers à utiliser en fonction des modificateurs standard. Par exemple, dans l'une de mes applications, j'ai défini des fichiers styles.xml et strings.xml pour différentes tailles et orientations et tout fonctionne comme prévu: valeurs-large-hdpi et valeurs-large-land-hdpi, etc.

0
MattC