Les différentes unités de mesure Android (dp, sp, pt, px, mm et in)

Tous les développeurs android connaissent le site developer.android.com.
Ce site permet de connaître les principales fonctionnalités du développement Android.
Je me suis interrogé l'autre jour sur toutes ces unités de mesure.
Pour le développement web, il existe 3 unités principales : les px (pixels), les em et les %.
Pour le développement d'application Android, il y en a 6 :
- dp : Density independen Pixel ( Densité de pixels indépendant) - Unité abstraite qui est basés sur la densité physique de l'écran.Cette unité est égale à 160 DPI (Points par pouce) par écran. Cette dimension sera utilisé pour la mise en page des éléments.
- sp : Scale independent Pixel (Echelle de pixels indépendant) - Utilisé pour les tailles de polices. On pourrait comparé cette unité aux em du développement web. La police peut être plus ou moins grosse suivant les préférences utilisateurs
- pt : Point - 72 points par pouces. basé sur la taille physique de l'écran.
- px : Pixels - Corresponds aux pixels réels de l'écran. Cette unité de mesure n'est pas recommandées car le rendu sur les différents types d'écran peut être différents. Le nombre de pixels par pouce peut varier suivant les appareils.
- mm : Millimètre - basée sur la taille physique de l'écran
- in : Inches (Pouces) - basée sur la taille physique de l'écran
Ces dimensions se définissent dans les layout (les fichiers XML).
Vous retrouverez l'ensemble de ces unités sur le site developer.android.com.
Commentaires
Ouh là là... Déjà le web, c'est chiant avec 3 tailles de polices mais alors là on dépasse tout... C'est absurde d'avoir 6 possibilités.
Qui peut me donner l'intérêt de cela ???
En tant que développeur iOS, je signalerai qu'il n'y a qu'une seule unité de mesure chez Apple, le pixel. Le pixel qui est l'unité de base dans le monde du digital.
Encore un merci à Apple de rendre les choses simples et efficaces :)
La différence provient certainement du fait que Android a beaucoup plus de devices que IOS et que, étant donné qu'il y a beaucoup de constructeurs différents, les tailles et les résolutions d'écrans sont différentes.
Du coup, pour harmoniser ceci, Android contient 6 unités de mesure.
Mais en réalité, il n'y en a que 2 principales utilisées : Les dp et les sp. Les autres sont très peu utilisées.
@jbejean: merci à Android de tourner sur de nombreux appareils, et pas uniquement sur des téléphones ruineux.
En en tant que développeur Android... Où est le problème d'avoir plus de possibilités? Je n'en ai jamais eu. Mais ça peut certes paumer les mauvais développeurs. Alors qu'avec un seul truc, il n'y a pas besoin de réfléchir.