支援螢幕具有不同的解析度,尺寸
術語和概念
螢幕尺寸
實際物理尺寸,以螢幕對角線測量。為簡單起見,Android 將所有實際螢幕尺寸分為四種通用尺寸:小尺寸,普通尺寸,大尺寸和超大尺寸。
螢幕密度
螢幕物理區域內的畫素數量; 通常稱為 dpi(每英寸點數)。例如,與正常或高密度螢幕相比,低密度螢幕在給定物理區域內具有更少的畫素。為簡單起見,Android 將所有實際螢幕密度分為六種通用密度:低,中,高,超高,超高和超額外超高。
取向
從使用者的角度看螢幕的方向。這可以是橫向或縱向,這意味著螢幕的寬高比分別為寬或高。請注意,預設情況下,不僅不同的裝置在不同的方向上執行,但是當使用者旋轉裝置時,方向可以在執行時更改。解析度螢幕上的物理畫素總數。新增對多個螢幕的支援時,應用程式無法直接使用解析度; 應用程式應僅關注螢幕尺寸和密度,如通用尺寸和密度組所指定。與密度無關的畫素(dp)在定義 UI 佈局時應使用的虛擬畫素單元,以與密度無關的方式表達佈局尺寸或位置。與密度無關的畫素相當於 160 dpi 螢幕上的一個物理畫素,這是系統為中等密度螢幕假定的基線密度。在執行時,系統根據使用的螢幕的實際密度,根據需要透明地處理 dp 單元的任何縮放。dp 單位到螢幕畫素的轉換很簡單:px = dp *(dpi / 160)。例如,在 240 dpi 螢幕上,1 dp 等於 1.5 個物理畫素。在定義應用程式的 UI 時,應始終使用 dp 單位,以確保在具有不同密度的螢幕上正確顯示 UI。根據使用中螢幕的實際密度。dp 單位到螢幕畫素的轉換很簡單:px = dp *(dpi / 160)。例如,在 240 dpi 螢幕上,1 dp 等於 1.5 個物理畫素。在定義應用程式的 UI 時,應始終使用 dp 單位,以確保在具有不同密度的螢幕上正確顯示 UI。根據使用中螢幕的實際密度。dp 單位到螢幕畫素的轉換很簡單:px = dp *(dpi / 160)。例如,在 240 dpi 螢幕上,1 dp 等於 1.5 個物理畫素。在定義應用程式的 UI 時,應始終使用 dp 單位,以確保在具有不同密度的螢幕上正確顯示 UI。
單位
PX
畫素 - 對應於螢幕上的實際畫素。
在
英寸 - 基於螢幕的物理尺寸。1 英寸= 2.54 釐米
毫米
毫米 - 基於螢幕的物理尺寸。
PT
點數 - 基於螢幕物理尺寸的 1/72 英寸。
dp 或 dip
密度無關畫素 - 基於螢幕物理密度的抽象單元。這些單位相對於 160 dpi 的螢幕,因此一個 dp 是 160 dpi 螢幕上的一個畫素。dp 與畫素的比率將隨著螢幕密度而變化,但不一定是成正比的。注意:編譯器同時接受
dip
和dp
,但dp
更符合sp
。SP
與比例無關的畫素 - 這與 dp 單位類似,但它也可以通過使用者的字型大小首選項進行縮放。建議你在指定字型大小時使用此單位,以便根據螢幕密度和使用者偏好調整它們。從瞭解 Android 中的密度獨立性:
單元 | 描述 | 每個物理英寸的單位 | 密度獨立 | 每個螢幕上的物理尺寸相同 |
---|---|---|---|---|
px |
畫素 | 不定 | 沒有 | 沒有 |
in |
英寸 | 1 | 是 | 是 |
mm |
毫米 | 25.4 | 是 | 是 |
pt |
點 | 72 | 是 | 是 |
dp |
密度無關畫素 | 〜160 | 是 | 沒有 |
sp |
縮放獨立畫素 | 〜160 | 是 | 沒有 |
參考文獻: