首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android 強制豎屏:在 Activity 標籤設置 android:screenOrientation="portrait"

     編輯:程式設計綜合問答

錯誤做法

在 `` 標籤設置 `android:screenOrientation="portrait"` **無效**,且在 `onConfigurationChanged` 中調用 `setRequestedOrientation` 會導致閃屏、無限循環。

正確做法

在 **每個需豎屏的 Activity** 標籤單獨聲明:

<activity
    android:name=".MyActivity"
    android:screenOrientation="portrait"
    android:configChanges="orientation|screenSize"> <!-- 可選:自行處理旋轉 -->
</activity>

代碼中動態設置(不推薦作為全局)

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); // 必須在 setContentView 前
    setContentView(R.layout.main);
}

注意

  • android:configChanges="orientation|screenSize" 會阻止 Activity 重建,但需在 `onConfigurationChanged` 中處理佈局更新,易出錯。**一般不建議添加**,讓系統自動重建更安全。
  • 全局強制豎屏可建立 **BaseActivity** 在 `onCreate` 統一調用 `setRequestedOrientation`。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved