天天看點

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等keyword命名如layout-hdip,layout-mdip)

依據分辨率不同顯示不同的layout布局

2  強制橫屏豎屏顯示(不依據手機傳感器調整)

在<activity 裡面增加:

android:screenOrientation="Landscape"//橫屏//portrait豎屏

注意:

在橫屏豎屏切換過程中,Activity會被又一次建立

onCreate方法會又一次運作

假設沒有id的元件如編輯框等則橫屏填寫的編輯框中的資料,寫到一半後假設豎屏顯示,

資料會丢失

谷歌解決方式:

假設擁有id

會在第一次建立Activity。運作完onCreate()方法之後把id元件中相應的值暫時儲存存起來,

在旋轉後再次建立Activity時

可是是在    運作完onCreate()方法之後!

!!!

運作完之後!

!!

依據id找到相應的值填寫上去