超級新手的學習記錄2(螢幕適配)
阿新 • • 發佈:2019-01-02
眾所周知
由於Android系統的開放性,任何使用者、開發者、OEM廠商、運營商都可以對Android進行定製,於是導致:
- Android系統碎片化:小米定製的MIUI、魅族定製的flyme、華為定製的EMUI等等Android機螢幕尺寸碎片化:5寸、5.5寸、6寸等
- 當Android系統、螢幕尺寸、螢幕密度出現碎片化的時候,就很容易出現同一元素在不同手機上顯示不同的問題。
所以我們需要螢幕適配(個人理解就是不同的螢幕尺寸,畫素不同,圖片文字等需要相應的改變)
基礎知識點:螢幕尺寸
- 含義:手機對角線的物理尺寸
- 單位:英寸(inch),1英寸=2.54cm
Android手機常見的尺寸有5寸、5.5寸、6寸等等
螢幕解析度
- 含義:手機在橫向、縱向上的畫素點數總和
- 一般描述成螢幕的"寬x高”=AxB
- 含義:螢幕在橫向方向(寬度)上有A個畫素點,在縱向方向
(高)有B個畫素點 - 例子:1080x1920,即寬度方向上有1080個畫素點,在高度方向上有1920個畫素點
- 單位:px(pixel),1px=1畫素點
UI設計師的設計圖會以px作為統一的計量單位
- 含義:每英寸的畫素點數
- 單位:dpi(dots per ich)
假設裝置內每英寸有160個畫素,那麼該裝置的螢幕畫素密度=160dpi
- 安卓手機對於每類手機螢幕大小都有一個相應的螢幕畫素密度:
| 密度型別 | 代表的解析度(px) | 螢幕畫素密度(dpi)|
| ------------- |:-------------:|
| 低密度(ldpi) | 240x320 | 120 |
| 中密度(mdpi) | 320x480 | 160 |
| 高密度(hdpi) | 480x800 | 240|
| 超高密度(xhdpi) | 720x1280 | 320|
| 超超高密度(xxhdpi) | 1080x1920 | 480 |- dp:最常用的長、寬、margin、padding等的單位
- sp:字型的單位,和dp差不多,區別是如果字型使用的sp為單位,那如果你手機字型調大了,那你app的字型會隨之變大,如果用dp則不會變化。
- px:畫素
- dpi:dots per inch,即每英寸上有多少個畫素,也就是螢幕密度
作者:姚瑤大壞蛋(這個作者的比較簡單易懂,分類清晰)
Dimens 尺寸; 帝夢詩;
生成對應螢幕解析度的的dimens檔案即可完成適配,缺點也比較明顯,就是一種解析度就需要一套dimens檔案,所以dimens檔案會比較多;(所以好麻煩)
至於如何適配圖片和語言只要在andirod目錄下建立相應的資料夾即可
一樣的animal在不同的解析度下是不同的圖片(為什麼是不同的圖片,方便區分吶)
例如:value—en則是英文版 jp就是日本了
先寫這麼多了,有時間補充