Android Minimum Bouton Hauteur: 48dp = 9mm?

Je suis actuellement en train de travailler sur des maquettes d'une application mobile et il y a quelque chose qui semble glisser mon esprit: Dans le Android Les Lignes Directrices De Conception, ils déclarent ce qui suit:

En moyenne, 48dp traduire pour une taille physique d'environ 9mm (avec quelques
la variabilité).

Mais, selon le Android Développeurs Dev Guide, ils calculent un dp à l'aide de la formule suivante:

L'indépendante de la densité de pixel est l'équivalent d'un pixel sur un
160 dpi de l'écran, qui est la base de la densité assumée par le système
pour un "moyen" de la densité de l'écran. Au moment de l'exécution, le système de façon transparente
poignées de mise à l'échelle de la dp unités, en tant que de besoin, sur la base de l'
la densité de l'écran en cours d'utilisation. La conversion de dp unités à l'écran
pixels est simple: px = dp * (dpi /160). Par exemple, sur un 240 dpi
écran, 1 dp, soit 1,5 physique pixels. Vous devriez toujours utiliser dp
les unités lors de la définition de l'INTERFACE utilisateur de votre application, afin d'assurer le bon affichage de
votre INTERFACE utilisateur sur des écrans avec des densités différentes.

Donc disons que pour des raisons de simplicité, je suis en train de faire ma conception 160dpi donc mes graphiques ont la bonne taille selon les normes recommandées. Lors de l'impression, je l'échelle vers le bas de mon document par 2,22 (160dpi/72dpi) de sorte que le résultat imprimé donne la dimension physique sur le papier.

Je veux que mes boutons 48dp élevé. Mais si je fais le calcul, à la suite de tout ce que j'ai lu, je ne vais nulle part près d'un 9mm taille en spécifiant 48 comme mon bouton de hauteur.

48dp /160dpi = 0,3 cm, afin de 7,62 mm...

Ce que je suis clairement manquant/fais de mal? Où est cette 9mm en venir?

Merci!

Mise à jour

Voici ce qui m'a aidé à comprendre ce que j'ai été absent de la accepté de répondre.

Prendre comme un exemple de la densité de l'écran de 200. Android utilisera 240 pour base de ses calculs. Donc:

  • 240dpi /160dpi = 1,5 échelle
  • 48dp * 1,5 d'échelle = 78 physique pixels
  • 78 px /240dpi = 0,3 pouces (ce qui est exactement le même que 48dp /160dpi)

Maintenant, le truc, c'est que le réel de l'appareil densité était de 200. De sorte que les pixels apparaissent plus grande que sur un 240dpi écran. Pour obtenir la taille physique sur la résolution de 200 ppp appareil, nous devons faire la différence entre la résolution et de l'appliquer à l'0,3 pouces:

  • 240dpi /200 ppp = 1,2
  • 0,3 * 1,2 de différence = 0,36 dans qui donne 9,144 mm

Je sais que c'est exactement le même comme l'a indiqué @kabuko:

(48dp /200ppi) * 1.5 * 25,4 mm/in = 9.14400

mais l'étape par étape m'a aidé à comprendre ce qui se passe sous le capot.

Intéressant, ils font remarquer qu'il y a une certaine variabilité être pris en compte, mais combien sont-ils à parler de quand ils disent "une certaine variabilité". Vous avez me laisse perplexe...

OriginalL'auteur David Côté | 2012-04-11