Android之橫屏豎屏顯示問題
阿新 • • 發佈:2019-01-30
1.採用不同的佈局檔案
選中layout(資料夾) Ctrl+C (複製)
選中res(資料夾) Ctrl +V(貼上)
建立layout-land橫屏顯示的layout
同理建立layout-port豎屏顯示的layout
圖片橫屏豎屏
選中drawable-xhdpi Ctrl+C
選中res Ctrl + V
建立drawable-land-xhdpi
其他解析度的也一樣
字串
values-land
values-port
另外:(layout資料夾也可以使用hdip,mdip等關鍵字命名如layout-hdip,layout-mdip)
根據解析度不同顯示不同的layout佈局
2 強制橫屏豎屏顯示(不根據手機感測器調整)
在<activity 裡面加入:
android:screenOrientation="Landscape"//橫屏//portrait豎屏
注意:
在橫屏豎屏切換過程中,Activity會被重新建立
onCreate方法會重新執行
如果沒有id的元件如編輯框等則橫屏填寫的編輯框中的資料,寫到一半後如果豎屏顯示,
資料會丟失
谷歌解決方案:
如果擁有id
會在第一次建立Activity,執行完onCreate()方法之後把id元件中對應的值臨時儲存存起來,
在旋轉後再次建立Activity時
但是是在 執行完onCreate()方法之後!!!!!執行完之後!!!!
根據id找到對應的值填寫上去
在res下建立資料夾layout-land
在該資料夾下寫入的layout(xml檔案)橫屏的時候系統自動選擇顯示的layout
同理:
在res下建立資料夾layout-port
在該資料夾下寫入的layout(xml檔案)即豎屏的時候系統自動選擇顯示的layout
快捷建立方法:
res檔案下選中layout(資料夾) Ctrl+C (複製)
選中res(資料夾) Ctrl +V(貼上)
建立layout-land橫屏顯示的layout
同理建立layout-port豎屏顯示的layout
圖片橫屏豎屏
選中drawable-xhdpi Ctrl+C
選中res Ctrl + V
建立drawable-land-xhdpi
其他解析度的也一樣
字串
values-land
values-port
另外:(layout資料夾也可以使用hdip,mdip等關鍵字命名如layout-hdip,layout-mdip)
根據解析度不同顯示不同的layout佈局
2 強制橫屏豎屏顯示(不根據手機感測器調整)
在<activity 裡面加入:
android:screenOrientation="Landscape"//橫屏//portrait豎屏
注意:
在橫屏豎屏切換過程中,Activity會被重新建立
onCreate方法會重新執行
如果沒有id的元件如編輯框等則橫屏填寫的編輯框中的資料,寫到一半後如果豎屏顯示,
資料會丟失
谷歌解決方案:
如果擁有id
會在第一次建立Activity,執行完onCreate()方法之後把id元件中對應的值臨時儲存存起來,
在旋轉後再次建立Activity時
但是是在 執行完onCreate()方法之後!!!!!執行完之後!!!!
根據id找到對應的值填寫上去