Je souhaite savoir quelle ressource graphique est utilisée lors de l'exécution de l'application, soit ldpi, mdpi, hdpi ou xhdpi.
Réponses
Trop de publicités?Vous devriez être en mesure d'obtenir les propriétés d'affichage de votre appareil de la manière suivante aquí et déterminer ensuite quelles ressources sont utilisées au moment de l'exécution en comparant le résultat à cette liste :
- ldpi : Écrans à faible densité ; environ 120 dpi.
- mdpi : Densité moyenne (sur les écrans HVGA traditionnels) ; environ 160 dpi.
- hdpi : Écrans à haute densité ; environ 240 dpi.
- xhdpi : Écrans à très haute densité ; environ 320 dpi. Ajouté au niveau 8 de l'API
- nodpi : Cette option peut être utilisée pour les ressources bitmap qui ne doivent pas être mises à l'échelle pour correspondre à la densité de l'appareil.
- tvdpi : Écrans situés entre mdpi et hdpi ; environ 213 dpi. Ce groupe de densité n'est pas considéré comme "primaire". Il est principalement destiné aux téléviseurs et la plupart des applications ne devraient pas en avoir besoin. Fournir des ressources mdpi et hdpi est suffisant pour la plupart des applications et le système les mettra à l'échelle comme il se doit. Ce qualificatif a été introduit au niveau 13 de l'API.
A partir de ces informations, vous pouvez déduire ce qui suit, qui pourrait également être pertinent pour votre question :
Il existe un rapport d'échelle de 3:4:6:8 entre les quatre densités primaires (sans tenir compte de la densité tvdpi). Ainsi, une image bitmap 9x9 en ldpi est 12x12 en mdpi, 18x18 en hdpi et 24x24 en tvdpi. mdpi, 18x18 en hdpi et 24x24 en xhdpi.
Vous devez tout d'abord réduire la densité de votre appareil.
int density= getResources().getDisplayMetrics().densityDpi;
switch(density)
{
case DisplayMetrics.DENSITY_LOW:
Toast.makeText(context, "LDPI", Toast.LENGTH_SHORT).show();
break;
case DisplayMetrics.DENSITY_MEDIUM:
Toast.makeText(context, "MDPI", Toast.LENGTH_SHORT).show();
break;
case DisplayMetrics.DENSITY_HIGH:
Toast.makeText(context, "HDPI", Toast.LENGTH_SHORT).show();
break;
case DisplayMetrics.DENSITY_XHIGH:
Toast.makeText(context, "XHDPI", Toast.LENGTH_SHORT).show();
break;
}
Il ne s'agit pas d'une réponse exacte, mais avez-vous jeté un coup d'œil : http://developer.Android.com/guide/practices/screens_support.html
ldpi : Ressources pour les écrans à faible densité (ldpi) (~120dpi)
mdpi : Ressources pour les écrans de densité moyenne (mdpi) (~160dpi)
hdpi : Ressources pour les écrans à haute densité (hdpi) (~240dpi)
xhdpi : Ressources pour les écrans à très haute densité (xhdpi) (~320dpi)
Il s'agit de lignes directrices générales, qui ne seront pas parfaites, mais qui constituent un bon début.
Ouvrir le fichier xml du dossier layout. En bas de l'écran, vous trouverez l'onglet "Mise en page graphique". Vous pourrez y voir une vue graphique de votre fichier xml. Dans le coin supérieur gauche, sélectionnez la résolution différente pour laquelle vous souhaitez tester le dessin. L'affichage sera actualisé en conséquence.
- Réponses précédentes
- Plus de réponses