關於同時支持手機和pad橫豎屏android佈局適配

關於同時支持手機(只豎屏),特定pad(支持橫豎屏)的佈局方案:

場景:
前期開發了一版手機版的app(只需要豎屏),佈局文件都寫在layout資源文件中。後期客戶要求在不另外開發的情況下,要兼容客戶提供的一個pad,
這個pad分辨率爲1920 * 1200。pad要支持橫豎屏。

因爲要求在同一個工程中,所以就考慮到根據不同分辨率使用不同的佈局文件。做法如下
1:因爲手機只能豎屏,所以使用默認的layout,將所有的佈局放在這個下面。
2:針對於客戶提供的pad,爲其豎屏提供了一套佈局,所以新建了一個layout-port-1920x1200的佈局文件夾,所有佈局放在這個裏面
3:針對於客戶提供的pad,爲其橫屏提供了一套佈局,所以新建了一個layout-land-1920x1200的佈局文件夾,所有佈局放在這個裏面

現在我的項目分別就有了如下3個資源佈局文件夾
layout
layout-port-1920x1200
layout-land-1920x1200

接下來進行測試:
第一步:我創建了一個MainAcitvity.java,然後隨之就有一個active_main.xml
第二步:我把這個active_main.xml分別拷貝到上面的三個文件夾中(不改名)
第三步:對這三個文件夾中的active_main.xml分別使用了一個用來區分的背景色。
layout
  |--active_main.xml  背景色爲黃色
layout-port-1920x1200
 |--active_main.xml  背景色爲綠色
layout-land-1920x1200
 |--active_main.xml  背景色爲藍色

下面通過設備進行驗證:
1:將app放在一個手機上運行,結果界面爲黃色。
2:將app放在一個我自定義的1920*1200的模擬器上運行(豎屏情況下),結果界面爲綠色
3:將app放在一個我自定義的1920*1200的模擬器上運行(橫屏情況下),結果界面爲藍色

通過上面試驗,證實app在運行時,在檢測有與之對應的分辨率的layout文件夾時,會調用相應文件夾下的佈局文件
如果找不到,則會使用默認的layout文件夾下佈局文件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章