1. 程式人生 > >Android之橫屏豎屏顯示問題

Android之橫屏豎屏顯示問題

1.採用不同的佈局檔案

在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找到對應的值填寫上去