一、Android版本比例測試:(資料來源:騰訊優測)
較主流的系統版本:部分旗艦機可以適配android7.0;目前大部分手機為6.0,比如各大廠商的旗艦機,其餘大部分為android5.0,一般可以滿足5.0後推出的material design風格控制元件;小部分機型為Android4.4或以下,不滿足material design風格控制元件;
-
一般開發的話,推薦適配版本為4.4.2----最高。部分控制元件,部分第三方library,api不支援較低水平的android版本;
-
特殊要求可以適配4.0.2--最高,但是會出現UI問題,比如material design裡面的cardview會顯示怪異,拉縮控制元件會出現不流暢現象,不影響使用,但是UI效果會不好;
-
如要求適配低版本手機,如2.2,3.0等,會出現部分UI控制元件不支援,可用library減少,低版本手機的解析度會更低,相應會出現低解析度螢幕適配問題。不單隻android API版本不一定導致執行異常,有些機型還使用Java 1.5進行編譯,使用某些Java 1.6的函式會Crash的。
二、 Android考慮的解析度:
較主流的螢幕解析度:(佔比90%以上)
2560x1440 (比如摩托羅拉Z,華為Nexus 6p)
1920x1152 (比如魅族mx4)
1920x1200 (比如華為榮耀X2)
1920x1080 (比如華為mate9)
1800x1080 (比如魅族mx3)
1776x1080 (比如比如Sony L39U)
1280x800 (比如三星GT-I9220)
1280x720 (比如華為暢享5s)
1280x768 (比如魅族魅藍)
較少見的螢幕解析度:(佔比10%左右)
960x540 (比如酷派8729)
854x480 (比如oppo1107)
800x480 (比如三星Nexus S)
480x320 (比如天語T621)
一般做法:
- 權重分屏:
多使用權重分屏,基本可以適配大部分螢幕
- 百分比佈局:
可以使用google提供的百分比佈局控制元件,整個頁面百分比佈局,類似html頁面做適配
三、平板適配:
- 多layout佈局 解決方案,設計師提供一套設計圖,部分圖示只切一套圖,推薦切為xxHdpi,部分圖示,比如桌面icon,提供5套切圖:hdpi,mdpi,xhdpi,xxhxpi,xxxhdpi;開發人員本地做程式碼適配,建立多個layout資料夾,即可滿足平板適配。
優點:設計師只需設計一套圖。
缺點:開發人員要畫4套介面;部分UI顯示不好看,手機一般為上下結構,平板多為左右結構。
- 2個apk 解決方案:設計師提供2套設計稿(手機端,pad端),切圖如上;
開發人員做2套layout,(缺點是apk體積會更大,多了一套冗餘佈局)
開發人員做2個app,java邏輯程式碼可以通用,佈局xml檔案不同。
優點:螢幕可以適配。
缺點:設計師要設計2套圖,開發要開發2個佈局檔案,修改bug要修改2份程式碼,更新需要更新2個版本。
- fragment和FrameLayout 配合 類似b方案,開發人員寫2個佈局檔案,通用部分用fragment抽離出來,主體框架寫在2個佈局檔案(手機版,pad版)裡面,控制元件用fragment替入,根據不同的螢幕載入不同的框架佈局檔案,框架佈局檔案通過碎片引入抽離出來的佈局檔案。
優點:螢幕適配。
確定:設計師要設計2套圖,開發要開發2個佈局檔案,抽離xml程式碼需要耗費額外的時間