前一階段開發android項目,由于客戶要求進行多分辨率適配,能夠支持國內主流的分辨率手機。因此經過了幾次開發走了很多彎路,目前剛剛領略了android多分辨率適配的一些方法。
先介紹一下所走的彎路,由于android的布局文件存放在res的layout中,可以根據不同的手機分辨率指定特定的layou參數,如圖所示:。根據不同的手機設定多個分辨率layout參數布局文件。因此再程序加載的過程中,會把運行該分辨率下的布局文件。 這樣開發的問題是回到至布局文件很多,很亂。不方便管理。一旦修改需要修改很多布局文件。
通過分析反編譯參看國內主流應用(QQ,京東,微信等)的布局文件進行學習,發現布局文件基本是一套的,把布局文件中需要設定的數值文件values設置成多套。合理的布局應該是這樣。可以看出布局layout是一套的,但是需要資源的時候drawable可以是多套的,根據分辨率的不同做特別的適配。而對應的values一定是多套的。而且values的適配已經從低分辨率800x432一直到高分辨率1280x752都有對應的數據。而且會根據密度進行單獨的適配hdpi,xhdip。這樣對于代碼是比較容易維護的。
因此根據所獲取的信息,本人把項目進行了重構,下面是重構后的布局文件,。
短小精干,由于用到的圖片資源不多,因此就用一套drawable,用一套布局layout,把對應的value使用多套。在不同手機上運行過。基本上都能夠滿足用戶體驗。把數據完整的顯示出來,效果也不失真。