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文件中布置這兩個文件就行了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM