web-dev-qa-db-fra.com

Définition du dossier dessinable à utiliser pour différentes résolutions

J'ai 4 tailles différentes pour chacune des icônes que je dois utiliser dans mon application. Le problème est que mon Nexus 7 (1280 x 800) et galaxy s2 (800 x 480) semblent utiliser les ressources en drawpi-hdpi. Comment forcer le Nexus à utiliser les ressources dans drawable-xhdpi, puis l'onglet 10 pouces pour utiliser drawable-xxhdpi.

Je l'ai dans mon fichier manifeste

<supports-screens Android:resizeable="true"
              Android:smallScreens="true"
              Android:normalScreens="true"
              Android:largeScreens="true"
              Android:xlargeScreens="true"
              Android:anyDensity="true" />
25
Amanni

Comment puis-je forcer le Nexus à utiliser les ressources dans drawable-xhdpi puis l'onglet 10 pouces pour utiliser drawable-xxhdpi?

Tu ne peux pas.

Les qualificatifs hdpi,xhdpi,xxhdpi décrit la densité d'écran de l'appareil, pas la taille de l'écran. De la doc officiel

Densité d'écran

La quantité de pixels dans une zone physique de l'écran; généralement appelé dpi (points par pouce). Par exemple, un écran à densité "faible" a moins de pixels dans une zone physique donnée, par rapport à un écran à densité "normale" ou "élevée". Pour plus de simplicité, Android regroupe toutes les densités d'écran réelles en quatre densités généralisées: faible, moyenne, élevée et très élevée.

Si vous souhaitez également prendre en charge les tablettes, utilisez large, xlarge qualificatifs. Le Nexus 7 est un large-hdpi tablette (techniquement c'est tvdpi, mais prend des images de hdpi). Donc, si vous voulez mettre des images pour Nexus 7, créez un dossier nommé drawable-large-hdpi et y mettre les images.

Remarque : il s'agit du cas spécial de Nexus 7. Parce que même si Nexus 7 est une tablette de 7 pouces, sa résolution est de 1280 * 800 . C'est donc un appareil hdpi. Mais les appareils 7 pouces normaux ont des résolutions inférieures de 1024 * 600 . Il s'agit donc de mdpi périphériques. Ainsi, le qualificatif drawable peut changer. (D'après ma propre expérience, mettez d'abord un dossier drawable-large-mdpi pour les appareils 7 pouces et vérifiez-le sur Nexus 7. S'il n'y a pas de problème avec les images, vous n'avez pas besoin de mettre un autre dossier. Parce que si un dossier particulier n'est pas présent, Android va rechercher le dossier le plus proche possible et l'optimiser pour l'écran de l'appareil)

En ce qui concerne le boîtier des tablettes 10 pouces, ce sont des appareils xlarge et leur densité peut passer de mdpi à xhdpi (Nexus 10). Mais beaucoup ont une résolution de 1280 * 800 et ce sont des appareils mdpi.

La meilleure pratique est de mettre les drawables suivants

// for Phones
drawable-ldpi
drawable-mdpi
drawable-hdpi

//for 7 inch tablets
drawable-large-mdpi
drawable-large-hdpi(for Nexus 7)

// for 10 inch tablets
drawable-xlarge-mdpi
102
Renjith
The problem is My Nexus 7 (1280 x 800) and galaxy s2 (800 x 480) seem to use the resources in drawable-hdpi

cela dépend d'un appareil comme nexus 7 a 240dpi qui est un périphérique hdpi, il prendra des ressources tirables de hdpi comme ceci si vous testez la même chose dans samsungtab 2 il prendra le même dessin que mdpi car c'est un périphérique mdpi

1
Abhijit Chakra