Comment faire dp, dip, ppp, ppp, les pixels et les pouces se rejoignent-elles?
Je lisais dp, dip, px, mesures sp, mais j'ai encore quelques questions à propos de dp/dpi vs ppi vs px vs pouces. Je ne suis pas en mesure de les comparer... est un pouce le plus grand?
Ils disent 160 dpi signifie 160 pixels par pouce. Est-ce à dire 1 pouce contient 160 pixels?
Ils disent aussi 1 pixel sur un 160 dpi de l'écran = 1 dp. Est-ce à dire 1 pixel et 1 dp sont égaux?
Et enfin, pourquoi devrions-nous utiliser dp au lieu de px? Je comprends que c'est l'idéal, mais pourquoi?
- Rappelez-vous que beaucoup de android écrans de résolutions différentes et de la différence des densités, et de voir si cela peut vous aider: stackoverflow.com/q/2025282/324625
- blackwell: j'ai lu qu'! mais je ne suis pas capable de dessiner comparaison :\
Vous devez vous connecter pour publier un commentaire.
Vous doit (presque) toujours utiliser des flexibles de dimensionnement des unités, comme
dp
, qui est Indépendante de la Densité de Pixels, car300px
sur un appareil n'est pas nécessairement la même quantité de l'écran de l'immobilier300px
sur l'autre. La plus grande conséquence pratique est que votre mise en page ressemblerait significativement différents sur les appareils avec une densité différente de celle de votre conception ciblée.dp
oudip
signifie indépendante de la Densité de Pixelsdpi
ouppi
moyen de Points (ou Pixels) Par Pouceinch
est une mesure physique connecté à taille réelle de l'écranpx
signifie Pixels un pixel remplit une quantité arbitraire de la zone de l'écran en fonction de la densité.Par exemple, sur un
160dpi
écran,1dp == 1px == 1/160in
, mais sur un240dpi
écran,1dp == 1.5px
. Donc, non,1dp != 1px
. Il est exactement un cas quand1dp == 1px
, et c'est sur un160dpi
écran. Physique des unités de mesure comme des pouces devrait jamais faire partie de votre conception—qui est, sauf si vous êtes en faire une règle.Une formule simple pour déterminer le nombre de pixels
1dp
de estpx = dp * (dpi /160)
.300*(240/160) = 450 pixels
dp est une mesure physique comme des pouces. (Oui, il est. Lire la suite.)
"Une dp correspond à la taille physique d'un pixel à 160 dpi" (https://developer.android.com/training/multiscreen/screendensities.html#TaskUseD)
La taille physique d'un pixel à 160 dpi est exactement de 1/160e d'un pouce. Donc la taille d'un dp est 1/160e d'un pouce. 160 dp = 1 pouce.
Px est un peu arbitraire, l'unité de mesure sur un écran.
Pour des exemples de ce que dp convertit en px sur différents appareils, voir ici:
https://stackoverflow.com/a/39495538/984003
Pour l'objectif de développement android:
Donc, sur un 160dpi téléphone (mdpi):
Sur un 180 dpi téléphone:
Noter que 2 pouces est TOUJOURS 320dp, indépendant de la taille de l'écran. Une dp est une distance physique, de 1/160ème de pouce.
Le dp de pixels formule est intéressante:
Est équivalent à:
dpi/160
est un facteur intéressant. Son de la densité relative par rapport à android mdpi bin et le montant que vous devez à l'échelle des graphiques pour les différentes ressources des bacs. Vous verrez que du facteur mentionné à quelques reprises sur le cette page, 0.75 étant le facteur de ldpi.Je vais vous expliquer à l'aide d'un exemple.
densité égale
ainsi, par exemple,
J'ai un Samsung S5 avec
432 dpi
(http://dpi.lv/#1920×[email protected]").Donc,
density = 432/160 = phone's dpi/baseline = 2.7
Disons que ma barre du haut est
48dp
. Ce n'est référencé pourbaseline (160dpi)
.Donc, w.r.t mon S5, il sera
48dp * 2.7
.Ensuite, si je veux voir la hauteur réelle:
Il sera
(48dp * 2.7) /432 dpi = 0.3 inches
.DP est la résolution lorsque vous seul facteur de la taille physique de l'écran. Lorsque vous utilisez DP-il à l'échelle de votre mise en page à d'autres de même taille des écrans avec différentes densités de pixels.
Parfois, vous voulez vraiment pixels même si, et quand vous avez affaire avec des dimensions dans le code, vous aurez toujours affaire à de vrais pixels, à moins que vous les convertir.