2014年3月14日 星期五

Android - px/pt/dp

px(pixel): 基於螢幕的實體像素。
也就是我們最常用的解析度,例如螢幕解析度 1024x768 就是長1024 px 及 768 px。

in(inches):英吋,物理長度。

pt(points):點數,1pt 代表 1/72 英吋。 常用在字型大小的表示。

dpi(dot per inch):在1英吋有幾個點。

dp, dip(Density-Independent Pixels):對應到在 160 dpi 的螢幕上的幾個像素,
你可以把它看成 1 dp = 1/160 in

sp(Scale Independent Pixels):跟 dip 一樣,加上 pt 的觀念。
簡單的說,就是對應在 160 dpi 的螢幕上的幾個 pt。
它會跟據使用者字型的大小而縮放。
主要處理字體大小,在 android 中,文字大小應使用 sp 而非 pt。

轉換公式如下:
sp = pt * dpi / 160
px = dp * dpi / 160

Android系統為求的在螢幕上的顯示有更好的效果, 建議使用dp.