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" />
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
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 samsung
tab 2
il prendra le même dessin que mdpi
car c'est un périphérique mdpi