1. 程式人生 > >超級新手的學習記錄2(螢幕適配)

超級新手的學習記錄2(螢幕適配)

眾所周知

由於Android系統的開放性,任何使用者、開發者、OEM廠商、運營商都可以對Android進行定製,於是導致:

  • Android系統碎片化:小米定製的MIUI、魅族定製的flyme、華為定製的EMUI等等Android機螢幕尺寸碎片化:5寸、5.5寸、6寸等
  • 當Android系統、螢幕尺寸、螢幕密度出現碎片化的時候,就很容易出現同一元素在不同手機上顯示不同的問題。

所以我們需要螢幕適配(個人理解就是不同的螢幕尺寸,畫素不同,圖片文字等需要相應的改變)

基礎知識點:螢幕尺寸

  • 含義:手機對角線的物理尺寸
  • 單位:英寸(inch),1英寸=2.54cm
  • Android手機常見的尺寸有5寸、5.5寸、6寸等等

    螢幕解析度

    • 含義:手機在橫向、縱向上的畫素點數總和
    1. 一般描述成螢幕的"寬x高”=AxB
    2. 含義:螢幕在橫向方向(寬度)上有A個畫素點,在縱向方向
      (高)有B個畫素點
    3. 例子: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 |

    作者:Carson_Ho(反正我也寫不出這麼好,不如借鑑咯)
  • dp:最常用的長、寬、margin、padding等的單位
  • sp:字型的單位,和dp差不多,區別是如果字型使用的sp為單位,那如果你手機字型調大了,那你app的字型會隨之變大,如果用dp則不會變化。
  • px:畫素
  • dpi:dots per inch,即每英寸上有多少個畫素,也就是螢幕密度

    作者:姚瑤大壞蛋(這個作者的比較簡單易懂,分類清晰)


Dimens  尺寸; 帝夢詩;

生成對應螢幕解析度的的dimens檔案即可完成適配,缺點也比較明顯,就是一種解析度就需要一套dimens檔案,所以dimens檔案會比較多;(所以好麻煩)

至於如何適配圖片和語言只要在andirod目錄下建立相應的資料夾即可


一樣的animal在不同的解析度下是不同的圖片(為什麼是不同的圖片,方便區分吶)


例如:value—en則是英文版 jp就是日本了

先寫這麼多了,有時間補充