android屏幕適配問題

  在項目開發的過程中,同一個佈局對應不同的手機會顯示出不同的效果。導致這個現象產生的原因是不同手機的分辨率不同。在android sdk提供的幫助文檔中,我們可以看到各種手機的分辨率和對應的屏大小。QVGA (240x320),WQVGA400(240x400),WQVGA432 (240x432),HVGA (320x480),WVGA800 (480x800),WVGA854 (480x854)。

  目前android手機的分辨率大致就是幫助文檔中描述的幾種,我們可以用兩種方式進行不同手機的適配。一種是在java代碼中,另外一種是在xml文件中。具體使用哪種方式更有效更合適,要看具體的情況而定。

  在xml進行手機匹配,主要是針對佈局中控件太多,不方便在java代碼中修改的情況。在xml中解決不匹配問題很簡單,對於不同手機的分辨率,建立對應的layout文件即可。例如:480x800,之間建立layout-800x400,240x320,建立layout-320x240。特別注意:大的寫在前面,例如800,320,小的寫在後面,例如480,240。建立了相應的layout後,還要在不同的手機上調整佈局中的控件大小和位置。

  我選擇的是xml匹配方式,結果發現按上面的方式做了之後,對應分辨率的手機的顯示沒有任何的效果,後來,我查看幫助文檔後,發現必須要在androidmainfest中進行如下代碼的配置:

java代碼:
 

  1. < supports-screens
     
  2. android:smallScreens="true"
     
  3. android:normalScreens="true"
     
  4. android:largeScreens="true"
     
  5. android:xlargeScreens="true"
     
  6. android:anyDensity="true" />
複製代碼


  如果沒有這幾行代碼,不管你怎麼調整layout中的控件,對應分辨率的手機是沒有任何效果的。注意:由於android版本的不同,有些版本不支持xlargeScreens,可以直接將android:xlargeScreens="true"去掉。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章