2014年3月9日 星期日

[Android] 怎麼讓不同螢幕大小與解析度都有相同比例的UI介面? dpi, ppi, dp, px 的換算與關係

在開發 UI 介面時,會遇到一些單位上換算的問題
對於初學者來說,很難釐清這些單位之間的關係

1. dpi? ppi?

  dpi(dot per inch),每英吋多少點。用於表示印刷產品點密度。
  ppi(pixel per inch),每英吋多少像素。用於螢幕的像素密度。

  針對螢幕做設計時,dpi = ppi。

 

2. dp? px?

  px 為實際長度
  dp 為 Android 自己的長度運算單位

  並規定 在 160ppi 時 1dp = 1px長度
  公式:px = (ppi/160)*dp

舉幾個例子來說明
在螢幕上,組成圖片的單位是 pixel(單位 px)