12dp será 12px en un dispositivo con densidad de 160 dpi. Los documentos no dicen que todos los dispositivos mdpi
tengan exactamente 160 ppp, por lo que parece que puede encontrar dispositivos mdpi
con otras densidades (por ejemplo, 150 o 180 ppp). En esos casos, la relación 1dp = 1px
no sería verdadera.
Sólo se puede estar seguro de esta relación:
px = dp * (dpi/160)
Si un dispositivo tiene una densidad de 320 ppp entonces cada dp corresponde a 2 píxeles, porque es 320/160 2. Yo diría que 2 es el "factor de densidad", pero también es lo que obtienes con getResources().getDisplayMetrics().density
, por lo que también se llama "densidad".
Por lo que entiendo, 12px solo será 12px en mdpi si la pantalla es 160dip. mdpi es una amplia gama de dispositivos de resolución media. – CodyBugstein