android判斷橫豎屏

cenmin 8年前發布 | 1K 次閱讀 Java

[Java]代碼    

設置:

方法一:在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);
}
 本文由用戶 cenmin 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!