2013-02-13 2 views
1

Ceci est une question de base. Quelqu'un peut-il s'il vous plaît expliquer la formule de conversion utilisée dans Android:Pixel à conversion dp android

px = dp * (dpi/160).

J'ai vu un certain nombre de liens mais rien ne l'explique clairement.

+0

juste pour être clair, je sais ce que chacun des termes signifie et j'ai déjà renvoyé la page de développement android. Ce que je veux savoir, c'est comment ils sont arrivés – Raghav

+0

120 (mdpi) correspond aux téléphones Android d'origine, voir ma réponse mise à jour. – hwrdprkns

Répondre

0

Regardez ce lien: http://developer.android.com/reference/android/util/DisplayMetrics.html#density

C'est la définition la plus succincte que je peux offrir à la densité. Vous prenez cette valeur de densité et la multipliez par le nombre de DP pour obtenir votre nombre de pixels.

En outre, voici quelques références rapides sur la densité par rapport à DPI.

faible densité (LDPI): 120 DPI;
densité moyenne (MDPI): 160 DPI;
haute densité (HDPI): 240 DPI;
haute densité supplémentaire (XHDPI): 320 dpi

From Dianne Hackborn:

Pour enlever les calculs de taille/densité de l'image, le cadre Android fonctionne chaque fois que possible en termes d'unités "dp", qui sont corrigé pour la densité. Dans les écrans de densité moyenne ("mdpi"), qui correspondent aux téléphones Android d'origine , pixels physiques sont identiques à dp; les dimensions des périphériques sont de 320 x 480 dans l'échelle . Un téléphone plus récent peut avoir des dimensions de pixel physique de 480x800 mais être un périphérique haute densité. Le facteur de conversion de hdpi à mdpi dans ce cas est de 1,5, donc pour les besoins d'un développeur, le dispositif est de 320x533 en dp.

0

dpi = points par pouce. C'est combien de pixels sont dans un pouce. Les pixels sont des éléments physiques réels du matériel de l'écran. DP sont des pixels virtuels - faux pixels utilisés comme une mesure intenral par android. Le nombre de pixels par dp dépend du périphérique. 1dp = 1/160ème de pouce. Cette formule est utilisée pour convertir les dps en pixels sur l'écran.

Questions connexes