Android螢幕適配(元件配置)時,需要注意以下幾個點:
Android螢幕適配(元件配置)時,需要注意以下幾個點:
資料來源:http://isux.tencent.com/learn-android-from-zero-session6.html
- 在定義xml佈局的時候,使用dp單位,wrap_content,fill_parent(match_parent)
- 為不同的螢幕密度提供不同的圖片
- 對於有某些規則(漸變)的圖片使用點九圖
- 為特殊的螢幕類型(橫豎屏)提供不同的佈局
Android的度量單位
- px
px是Pixels的縮寫,是常用的圖元單位,對應的是螢幕上的點。
- dip/dp
dp(density-independent pixel)是與密度無關的圖元單位,也就是dip。它是基於設備螢幕物理密度的抽象單位。1dp 表示螢幕DPI為160時1px的長度。DPI 越高的螢幕,螢幕繪製1dp 需要越多的圖元,反之亦然。
- sp
sp(scale-independent pixel)是与缩放无关的像素单位。跟dp类似,唯一的不同是,该单位会受系统字体设置的影响,通常用在字体上。(Android在设计规范中规定了字体的常用大小)
結論:使用dp/sp的好處是,無論螢幕DPI如何,元件總能表現一致
- 解析度
跟電腦解析度的概念類似,表示螢幕橫縱方向的圖元數,例如480*800(程式中預設的XML顯示狀態)。
在為APP進行螢幕適配時,不能只考慮到圖元,還有螢幕大小,螢幕密度等等。
移動設備的尺寸有很多種,它們的螢幕總圖元也是不同的,使用px單位的元件尺寸會有不一致的情況。
在MDPI的屏幕(即160DPI),1dp 和1sp 基本等于 1px 。
dp 和 px的計算公式:px = dp*(DPI/160)。
sp 和 px的計算公式:px = sp*(DPI/160)。