一. 關於圖片資源
圖片寬高 不要固定大小,在小螢幕和大螢幕,不同分頻率上 ,採用不同的圖片,這個要美工切圖的。
不同的解析度,介面的長寬比不一致,須要不同規格的圖片 在drawable-hdpi,drawable-ldpi,drawable-mdpi 中放不同解析度的圖片 注:為了減小整個應用程式安裝包大小,選用最高解析度適配,特殊介面圖片特殊處理
二. 關於佈局適配。
Android手機螢幕大小不一,有480x320,640x360,800x480.如何才幹讓App自己主動適應不同的螢幕呢?
事實上非常easy,僅僅須要在res資料夾下建立不同的layout資料夾,比方:layout-640x360,layout-800x480,全部的layout檔案在編譯之後都會寫入R.java裡,而系統會依據螢幕的大小自己選擇合適的layout進行使用。
1. 儘量不要使用絕對佈局
2. 儘量使用match_parent,不要使用fill_parent,在佈局中設定長度的時候,最好 使用Wrap-content,match-parent,文字要使用sp,畫素要使用dip/dp。
3. 可以使用權重的地方儘量使用權重(android:layout_weight)。
4. 假設是純色背景,儘量使用android的shape 自己定義
5. 假設須要在特定解析度下適配,能夠在res資料夾上新建layout-HxW.xml的資料夾。
比方要適配1080*1800的螢幕(魅族MX3採用此解析度)則新建layout- 1800x1080.xml的目錄,然後在以下定義佈局。Android系統會優先查詢解析度 同樣的佈局,假設不存在則換使用預設的layout下的佈局。
不同解析度,介面的字型大小,字型等須要不同的樣式,且須要動態生成的情況下,
須要把不同解析度的配置資訊儲存到應用中。
樣例:
在RES裡建立 values-480x320 values-800x400 value-1280x720
並在建立的目錄中分別建立dimens.xml
<dimen name="Text_size">30px</dimen>
在程式中直接呼叫R.dimen.Text_size
int sizeOfText = (int) this.getResources().getDimension(R.dimen.Text_size);
注:實際應用發現,字型大小適配時
比方僅僅適配了例如以下螢幕字型
values-480x320 values-800x480 value-1280x720
當出現手機螢幕解析度為 854x480時會自己主動找最大字型適配 (value-1280x720)
總結:假設字型800x480以上沒有適配,手機自己主動按最大解析度適配.