Android橫豎屏設定
如果activity預設是某種模式的,直接在AndroidManifest.xml中的對應activity項中,新增相應的程式碼即可實現
如:
android:screenOrientation="unspecified" 跟隨系統螢幕旋轉方向等(預設)
android:screenOrientation="landscape" 強制橫屏
android:screenOrientation="portrait" 強制豎屏
二
.
程式碼動態設定
如果需要動態設定activity的在螢幕上的顯示方向,可以呼叫系統提供的api函式:setRequestedOrientation(@ActivityInfo.ScreenOrientationint
requestedOrientation).
requestedOrientation主要對應的值:
ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
三
.android:screenOrientation
的詳細引數
四
.android:configChanges
設定
(
自行處理配置變更
)
當我們設定的旋轉方式是跟隨系統的,既android:screenOrientation="unspecified"
(重啟行為旨在通過利用與新裝置配置匹配的備用資源自動重新載入您的應用,來幫助它適應新配置.)
重啟並恢復大量資料不僅成本高昂,影響效能,而且給使用者留下糟糕的使用體驗.
如果不想Activity被銷燬,需要在AndroidManifest.xml中配置android:configChanges
例如:
注意:從 Android 3.2(API級別 13)開始,當裝置在縱向和橫向之間切換時,“螢幕尺寸”也會發生變化.因此,在開發針對API 級別 13或更高版本(正如 minSdkVersion
加上這段程式碼後,如果再旋轉手機螢幕,Activity就不會再被銷燬了,而是會回撥activity中的onConfigurationChanged方法,這時就需要在這裡處理相關邏輯.