android設置橫屏和豎屏的方法

方法一:在AndroidManifest.xml中配置

假設不想讓軟件在橫豎屏之間切換,最簡單的辦法就是在項目的AndroidManifest.xml中找到你所指定的activity中加上android:screenOrientation屬性。他有下面幾個參數:

“unspecified”:默認值 由系統來推斷顯示方向.判定的策略是和設備相關的,所以不同的設備會有不同的顯示方向.
“landscape”:橫屏顯示(寬比高要長)
“portrait”:豎屏顯示(高比寬要長)
“user”:用戶當前首選的方向
“behind”:和該Activity以下的那個Activity的方向一致(在Activity堆棧中的)
“sensor”:有物理的感應器來決定。假設用戶旋轉設備這屏幕會橫豎屏切換。
“nosensor”:忽略物理感應器。這樣就不會隨着用戶旋轉設備而更改了(”unspecified”設置除外)。

方法二:在java代碼中設置

設置橫屏代碼:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//橫屏

設置豎屏代碼:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//豎屏

由於橫屏有兩個方向的橫法,而這個設置橫屏的語句,假設不是默認的橫屏方向,會把已經橫屏的屏幕旋轉180°。

所以能夠先推斷是否已經爲橫屏了。假設不是再旋轉,不會讓用戶認爲轉的莫名其妙啦!代碼例如以下:
if(this.getResources().getConfiguration().orientation ==Configuration.ORIENTATION_PORTRAIT){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}

三:

1.直接新建兩個佈局文件,剩下的就什麼也不用管了:右鍵單擊‘res’文件夾 -> ‘new’ -> ‘Android resource directory’; 將 Directory name 填寫 layout-land,Resource type 選擇layout,這是建立了一個橫屏的佈局文件,同樣的方式再建立一個layout-port資源文件夾,裏面放一個豎屏的佈局文件,名字要起一樣的,這個很重要,然後再java文件中設置setvontentview就行 了。這樣屏幕切換的時候他們會被自動加載

四:

2.假如佈局資源是不一樣又不按照如上設置,則需要通過java代碼來判斷當前是橫屏還是豎屏然後來加載相應的xml佈局文件(比如mainP爲豎屏mainL爲橫屏)。因爲當屏幕變爲橫屏的時候,系統會重新呼叫當前Activity的onCreate方法,你可以把以下方法放在你的onCreate中來檢查當前的方向,然後可以讓你的setContentView來載入不同的layout xml。

首先在layout下,建立兩個佈局文件,一個是橫屏的一個是豎屏的,然後再java文件中佈置這兩個文件就行了。

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