Quelle est la différence entre les unités de mesure Android ?
- px
- plonger
- dp
- sp
Quelle est la différence entre les unités de mesure Android ?
De la Documentation pour les développeurs Android :
px
> Pixels - correspond à des pixels réels sur l'écran.
sur
> Pouces - en fonction de la taille physique de l'écran.
> 1 pouce = 2,54 centimètres
mm
> Millimètres - en fonction de la taille physique de l'écran.
pt
> Points - 1/72 de pouce sur la base de la taille physique de l'écran.
dp o plonger
> Densité -indépendants Pixels - unité abstraite basée sur la densité physique de l'écran. Ces unités sont relatives à un écran de 160 dpi, donc un dp est un pixel sur un écran de 160 dpi. Le rapport dp/pixel change en fonction de la densité de l'écran, mais pas nécessairement en proportion directe. Note : Le compilateur accepte à la fois "dip" et "dp", bien que "dp" soit plus cohérent avec "sp".
sp
> Pixels à l'échelle OU pixels indépendants de l'échelle - c'est comme l'unité dp, mais elle est également mise à l'échelle par la préférence de taille de police de l'utilisateur. Il est recommandé d'utiliser d'utiliser cette unité lorsque vous spécifiez la taille des polices, afin qu'elles soient ajustées pour la densité de l'écran et les préférences de l'utilisateur. Notez que la documentation d'Android n'est pas cohérente quant à la définition de l'unité dp.sp
représente réellement, un doc dit " pixels indépendants de l'échelle ", le autre dit "pixels à l'échelle".
Desde Comprendre l'indépendance de densité dans Android :
Seau de densité
Densité de l'écran
Taille physique
Taille du pixel
ldpi
120 ppp
0,5 x 0,5 in
0,5 pouce * 120 ppp = 60x60 px
mdpi
160 ppp
0,5 x 0,5 in
0,5 pouce * 160 ppp = 80x80 px
hdpi
240 ppp
0,5 x 0,5 in
0,5 pouce * 240 ppp = 120x120 px
xhdpi
320 ppp
0,5 x 0,5 in
0,5 in * 320 ppp = 160x160 px
xxhdpi
480 ppp
0,5 x 0,5 in
0,5 pouce * 480 ppp = 240x240 px
xxxhdpi
640 ppp
0,5 x 0,5 in
0,5 pouce * 640 ppp = 320x320 px
Unité
Description
Unités par pouce physique
Indépendant de la densité ?
La même taille physique sur tous les écrans ?
px
Pixels
Varie
Non
Non
sur
Pouces
1
Oui
Oui
mm
Millimètres
25.4
Oui
Oui
pt
Points
72
Oui
Oui
dp
Densité Pixels indépendants
~160
Oui
Non
sp
Pixels indépendants de l'échelle
~160
Oui
Non
Plus d'informations peuvent être trouvées dans le Documentation sur la conception de Google .
Tout ce qui concerne ce sujet et la manière d'obtenir le meilleur support pour des écrans multiples de tailles et de densités différentes est très bien documenté ici :
Taille de l'écran
Taille physique réelle, mesurée comme la diagonale de l'écran. Pour simplifier, Android regroupe toutes les tailles d'écran réelles en quatre quatre tailles généralisées : petit, normal, grand et très grand.Densité de l'écran
Le nombre de pixels dans une zone physique de l'écran. l'écran ; généralement appelé dpi (dots per inch). Par exemple, un Par exemple, un écran à "faible" densité comporte moins de pixels dans une zone physique donnée, par rapport à un écran à densité "normale" ou "élevée". Par souci de simplicité, Android regroupe toutes les densités d'écran réelles en six densités généralisées : faible, moyenne, élevée et faible. généralisées : faible, moyenne, élevée, extra-haute, extra-extra-haute et extra-extra-extrême. extra-extra-extra-haute.Orientation
L'orientation de l'écran du point de vue de l'utilisateur. de l'utilisateur. Il s'agit soit d'un paysage, soit d'un portrait, ce qui signifie que le rapport d'aspect de l'écran est soit large, soit ta. de l'écran est respectivement large ou haut. Il faut savoir que non seulement que non seulement des appareils différents fonctionnent dans des orientations différentes en par défaut, mais l'orientation peut changer au moment de l'exécution lorsque l'utilisateur fait tourner l'appareil.Résolution
Le nombre total de pixels physiques sur un écran. Lors de la prise en charge d'écrans multiples, les applications ne travaillent pas directement avec la résolution ; elles doivent se préoccuper uniquement de la taille et de la densité de l'écran, telles que spécifiées par les groupes généralisés de taille et de densité.Pixel indépendant de la densité (dp)
Une unité virtuelle unité de pixels virtuelle que vous devez utiliser lors de la définition de la disposition de l'interface utilisateur, pour exprimer les dimensions ou la position de la disposition d'une manière indépendante de la densité. Le pixel indépendant de la densité est équivalent à un pixel physique sur un écran de 160 dpi, qui est la densité de base supposée par le système pour un écran de densité "moyenne". densité "moyenne". Au moment de l'exécution, le système gère de manière transparente de manière transparente toute mise à l'échelle des unités dp, si nécessaire, en fonction de la densité réelle de l'écran utilisé. La conversion des unités dp en pixels d'écran est simple :px = dp * (dpi / 160)
. Par exemple, sur un écran de 240 ppp, 1 ppp équivaut à 1,5 pixel physique. Vous devez toujours utiliser les unités dp lorsque lorsque vous définissez l'interface utilisateur de votre application, afin de garantir l'affichage sur des écrans de différentes densités.
Si vous envisagez sérieusement de développer une application Android pour plus d'un type d'appareil, vous devez avoir lu au moins une fois le document de développement du support des écrans. En outre, il est toujours bon de connaître le nombre réel d'appareils actifs ayant une configuration d'écran particulière.
Je vais développer plus en détail comment exactement dp est converti en px :
150 x 150 px
L'image occupera 150 * 150 dp
d'espace à l'écran.150 x 150 px
L'image occupera 100 * 100 dp
d'espace à l'écran.150x150 px
L'image occupera 75 * 75 dp
d'espace à l'écran.Dans l'autre sens : disons que vous voulez ajouter une image à votre application et que vous avez besoin qu'elle remplisse un fichier de type 100 * 100 dp
contrôle. Vous devrez créer des images de taille différente pour les tailles d'écran prises en charge :
100 * 100 px
image pour mdpi150 * 150 px
image pour hdpi200 * 200 px
image pour xhdpi
Comment la taille de la police est représentée ? en dp ou sp ? J'ai une application où le texte s'affiche plus grand dans certaines modales. Il arrive à la ligne suivante ou occupe entièrement les espaces. Comment cette taille de police sera-t-elle définie pour s'afficher aussi bien dans Android ?
px - Pixels - point par échelle correspond à des pixels réels sur l'écran.
i - Pouces - en fonction de la taille physique de l'écran.
mm - Millimètres - en fonction de la taille physique de l'écran.
pt - Points - 1/72 de pouce sur la base de la taille physique de l'écran.
dp - Pixels indépendants de la densité - une unité abstraite qui est basée sur la densité physique de l'écran. Ces unités sont relatives à un écran de 160 dpi, donc un dp
est un pixel sur un écran de 160 ppp. Le rapport dp/pixel change avec la densité de l'écran, mais pas nécessairement en proportion directe. Note : Le compilateur accepte les deux dip
y dp
mais dp
est plus cohérent avec sp
.
sp - pixels évolutifs - c'est comme le dp
unité, mais elle est également mise à l'échelle en fonction de la préférence de l'utilisateur en matière de taille de police. Il est recommandé d'utiliser cette unité lorsque vous spécifiez la taille des polices, afin qu'elles soient adaptées à la fois à la densité de l'écran et aux préférences de l'utilisateur.
Prenons l'exemple de deux écrans de même taille, mais dont l'un a une densité d'écran de 160 ppp (points par pouce, c'est-à-dire pixels par pouce) et l'autre de 240 ppp.
Lower resolution screen Higher resolution, same size
Physical Width 1.5 inches 1.5 inches
Dots Per Inch (“dpi”) 160 240
Pixels (=width*dpi) 240 360
Density (factor of baseline 160) 1.0 1.5
Density-independent pixels 240 240
(“dip” or “dp” or “dps”)
Scale-independent pixels
(“sip” or “sp”) Depends on user font size settings same
En outre, vous devez avoir une compréhension claire des concepts suivants :
Taille de l'écran :
Taille physique réelle, mesurée comme la diagonale de l'écran. Pour des raisons de simplicité, Android regroupe toutes les tailles d'écran réelles dans les catégories suivantes quatre tailles généralisées : petit, normal, grand et très grand.
Densité de l'écran :
La quantité de pixels dans une zone physique de l'écran ; généralement appelée dpi (dots per inch). Par exemple, une Par exemple, un écran à "faible" densité comporte moins de pixels dans une zone physique donnée, par rapport à un écran à densité "normale" ou "élevée". Par souci 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 faible. quatre densités générales : faible, moyenne, élevée et très élevée.
Orientation :
L'orientation de l'écran du point de vue de l'utilisateur. Il s'agit d'un paysage ou d'un portrait, ce qui signifie que le rapport d'aspect de l'écran est respectivement large ou haut. rapport d'aspect de l'écran est respectivement large ou haut. Il faut savoir que que non seulement les différents appareils fonctionnent dans différentes orientations par défaut, mais l'orientation peut également changer au moment de l'exécution lorsque l'utilisateur fait tourner l'appareil.
Résolution :
Le nombre total de pixels physiques sur un écran. Lors de l'ajout de la prise en charge de plusieurs écrans, les applications ne fonctionnent pas directement directement avec la résolution ; elles ne doivent se préoccuper que de la taille et de la densité de la taille et de la densité de l'écran, telles que spécifiées par les groupes de taille et de densité généralisées.
Pixel indépendant de la densité (dp) :
Unité virtuelle de pixels à utiliser lors de la définition de la mise en page de l'interface utilisateur, pour exprimer les dimensions ou la position de la mise en page d'une manière indépendante de la densité. d'une manière indépendante de la densité. Le pixel indépendant de la densité est équivalent à un pixel physique sur un écran de 160 dpi, ce qui est la densité de base supposée par le système pour un écran de densité "moyenne". Au moment de l'exécution, le système gère de manière transparente toute mise à l'échelle des unités dp si nécessaire, en fonction de la densité réelle de l'écran utilisé. La conversion des unités dp en pixels d'écran est simple : px = dp * (dpi / 160). Par exemple, sur un écran de 240 ppp, 1 ppp équivaut à 1,5 pixel physique. physiques. Vous devez toujours utiliser les unités dp lors de la définition de l'interface utilisateur de votre application, afin de garantir la qualité de l'affichage. l'interface utilisateur de votre application, afin de garantir l'affichage correct de celle-ci sur des différentes densités.
Référence : Site des développeurs Android
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
72 votes
C'est la différence complète entre px, dip, dp et sp dans Android [ developer.Android.com/guide/topics/resources/
23 votes
Ce convertisseur astucieux en est la meilleure illustration à mon avis. Il est également extrêmement utile pour exporter des sprites depuis Photoshop ou pour concevoir votre mise en page pour une dimension physique.
11 votes
Nouvelle description sur Google Design Unités et mesures
0 votes
Comment convertir par programme entre
px
,dp
ysp
0 votes
À partir du site des développeurs Android developer.Android.com/guide/practices/screens_support.html
0 votes
Dernière description- stackoverflow.com/a/45244453/1380032
2 votes
Conception matérielle avec densité de pixels material.io/design/layout/
0 votes
queception.com/question.php?question=108