控制螢幕方向的screenOrientation,screenorientation
<activity android:name=".MyActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
android:screenOrientation 設定該活動的方向, 該值可以是任何一個下面的字串:
"unspecified"
- 預設值. 由系統選擇顯示方向. 在不同的裝置可能會有所不同.
"landscape"
- 橫向
"portrait"
- 縱向
"user"
- 用戶當前的首選方向
"behind"
- 與在活動堆棧下的活動相同方向
"sensor"
- 根據物理方向感應器確定方向. 取決於用戶手持的方向, 當用戶轉動裝置, 它跟隨改變.
"nosensor"
- 不經物理方向感應器確定方向. 該感應器被忽略, 所以當用戶轉動裝置, 顯示不會跟隨改變. 除了這個區別,系統選擇使用相同的政策取向對於“未指定”設定. 系統根據“未指定”("unspecified")設定選擇相同顯示方向.
它在代碼中的實現:如
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);); //強製為橫屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); //強製為豎屏
橫豎屏切換後Activity會重新執行onCreat函數,但是在Android工程的Mainfest.xml中加入android:screenOrientation="user" android:configChanges="orientation|keyboardHidden"之後,橫豎屏切換之後就不會去執行OnCreat函數了,而是會去調用onConfigurationChanged(),這樣我們就能控制橫豎屏的切換了。
或者在res目錄下建立layout-land和layout-port目錄,相應的layout檔案不變。layout-land是橫屏的layout,layout-port是豎屏的layout。