Android螢幕適配規則,android螢幕適配

來源:互聯網
上載者:User

Android螢幕適配規則,android螢幕適配

要適配不同的螢幕,首要需要的是要能夠將不同的螢幕分辨出來,android提供了若干不同的維度來進行限定(qualifier,有的翻譯為限定詞)


所示為常用的一些維度,不過不是全部,全部的維度可以在官方的列表中尋找。

圖中從左至右按照箭頭指示方向的優先順序依次降低(尋找匹配資源的時候會用到優先順序),同時在對res子目錄採用限定詞進行命名的時候,也必須按照這個優先順序進行命名,例如res-sw600dp-port是對的而res-port-sw600dp就會出現編譯錯誤。有些維度可以有很多不同的具體參數,如smallestWidth,有些只能有固定的一些選擇,如語言,螢幕方向port/land這種。

 

 

以下分別來介紹各個維度:

1、語言(zh-rCN), 主要可以用ISO 639-1標準定義的兩個字母的語言代碼

2、smallestWidth最短可用寬度(sw-<N>dp),這個是從android3.2開始加入的,表示裝置可用的最短寬度,與螢幕方向無關。但是,這個參數在使用時會涉及到螢幕上的一些組件,如果螢幕上有navigation bar等,則最短可用寬度可能並不到螢幕的最短邊的數值,因為這個參數指的是我們的UI可用的區間。

適配流程:當多個目錄都使用了該限定詞的時候,匹配原則為不大於可用寬度的最大值。即如果螢幕最短邊為1536,螢幕密度為xhdpi(即320dpi),1536/2 = 768,則在所有的sw-<N>dp中選擇小於等於768的最大值,也即向下尋找匹配。

3、available width(w-<N>dp與smallestWidth類似,但是與螢幕方向有關,向下匹配

4、screenSize螢幕尺寸,根據螢幕對角線大小來界定(單位inch-英寸),可分為small/normal/large/xlarge。適配順序為從高到低,如果只有超過當前實際尺寸的目錄中有定義,則crash。這個維度從android3.2開始已經不建議使用,建議採用shortestWidth。

5、螢幕方向,這個是最簡單的,橫向縱向

6、Screen density螢幕密度(dots per inch),ldpi/mdpi/hdpi/xhdpi/xxhdpi分別對應的螢幕密度為120/160/240/320/480/640dpi,在放置資源的時候資源大小也要按照相應比例。(決定1dp代表多少pixel)。

適配流程:優先從當前螢幕密度匹配的目錄尋找,如果沒有則不斷向上層尋找(傾向於將大圖片縮小,而不是小圖片放大),如果上層沒有則向下層尋找,如果都沒有,才取預設的目錄,定位到特定目錄後,會根據定位到的目錄與當前螢幕密度的比例關係進行縮放操作。

7、解析度 (800*480,官方文檔上已經沒有,但目前仍可使用,優先順序介於nav和platform之間,適配順序為從高到低

8、Platform version:參見Api Levels。適配順序也是從高到低

 

 

 

Android資源匹配流程:

 

 

 

 

Best practice:

1、為不同的螢幕尺寸及方向提供不同的layout,dimen

2、為不同的螢幕密度dpi提供不同的drawable

3、提供預設資源防止crash

4、修改某個目錄下的值的時候,確認其上層是否有配置該參數值,如果有,則可以直接修改;如果沒有,則要將本層的值複製到上層之後再來修改本層的值

 

 

 

Android官方:

https://developer.android.com/guide/topics/resources/providing-resources.html

https://developer.android.com/guide/practices/screens_support.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.