為了減少UI的工作量,1個APP只提供1套圖;
為了減少程序員的重復工作,1個APP只保護1套程序;
為了在各種分辨率下圖片不失真,UI依照最高分辨率提供圖片;
為了到達理想的效果,圖片切分盡可能細,將帶有修飾效果的圖片全部和背景分離(比如APP的大背景中有樹、花草、人物,將這些小場景從背景圖中切出來,程序員自己將圖貼上去,只是不同分辨率下的尺寸、位置不1樣。);
為了圖片不變形,圖片寬高必須等比縮放;
原則上程序只有1套布局,對有特殊要求的地方,可以創建多套layout文件夾,為主流分辨率提供相應的布局文件;
程序員創建多套values文件夾,文件夾下的dimens.xml文件寄存相應分辨率的圖片尺寸和坐標。
將公用的布局抽出,在需要使用的地方以include標簽的情勢引入。
注:
上面的方案基本上解決了多分辨率適配的問題(項目中大概只需要適配4⑸款分辨率的機型),對分辨率相差較大或屏幕尺寸相差太大的情況,可以斟酌做兩套UI和兩套程序,這樣才能到達比較理想的效果,比如很多APP都提供了手機版和PAD版兩個APP。
多分辨率適配通常的做法是在同1套程序下依照分辨率創建多個layout文件夾,但在開發中我發現也能夠依照分辨率創建多個values文件夾,比如:values⑴230x800、values⑴920x1200、values⑴969x1536、values⑼74x768,對依照分辨率創建不同文件夾特別需要說明的是:
格式:文件夾名稱-大數值x小數值(大數值在前,小數值在后);
文件夾名稱中的數值不是機器的真實分辨率,需要減掉通知欄的高度;
同1分辨率在橫豎屏情況下是是兩個不同的文件夾,比如分辨率為1024x768,通知欄高度為50,那末橫屏對應的文件夾為:values⑴024x718,豎屏對應的文件夾為values⑼74x768。