控制螢幕方向的screenOrientation,screenorientation

來源:互聯網
上載者:User

控制螢幕方向的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。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.