6087 votes

Quelle est la différence entre "px", "dip", "dp" et "sp" ?

Quelle est la différence entre les unités de mesure Android ?

  • px
  • plonger
  • dp
  • sp

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

6001voto

Alex Volovoy Points 34562

De la Documentation pour les développeurs Android :

  1. px
    > Pixels - correspond à des pixels réels sur l'écran.

  2. sur
    > Pouces - en fonction de la taille physique de l'écran.
    > 1 pouce = 2,54 centimètres

  3. mm
    > Millimètres - en fonction de la taille physique de l'écran.

  4. pt
    > Points - 1/72 de pouce sur la base de la taille physique de l'écran.

  5. 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".

  6. 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 .

723voto

Bruiser Points 4732

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.

368voto

devmiles.com Points 2694

Je vais développer plus en détail comment exactement dp est converti en px :

  • Si elle est exécutée sur un périphérique mdpi, une 150 x 150 px L'image occupera 150 * 150 dp d'espace à l'écran.
  • Si elle est exécutée sur un périphérique hdpi, une 150 x 150 px L'image occupera 100 * 100 dp d'espace à l'écran.
  • Si elle est exécutée sur un périphérique xhdpi, une 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 mdpi
  • 150 * 150 px image pour hdpi
  • 200 * 200 px image pour xhdpi

0 votes

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 ?

302voto

Amit patel Points 616

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

245voto

Hissain Points 880

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.com

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.

Powered by:

X