螢幕方向參數:
ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED,//未指定,此為預設值。由Android系統自己選擇合適的方向。
ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE,//橫屏
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT,//豎屏
ActivityInfo.SCREEN_ORIENTATION_USER,//
使用者當前的首選方向
ActivityInfo.SCREEN_ORIENTATION_BEHIND,//繼承Activity堆棧中當前Activity下面的那個Activity的方向
ActivityInfo.SCREEN_ORIENTATION_SENSOR,//由物理感應器決定顯示方向
ActivityInfo.SCREEN_ORIENTATION_NOSENSOR,//
忽略物理感應器——即顯示方向與物理感應器無關
ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE,
ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT,
ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE,
ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT,
ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR,
通過setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);可以指定螢幕方向。
範例程式碼:
31.動態更改螢幕方向
/如果是豎排,則改為橫排
if(getRequestedOrientation() ==ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)
{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
//如果是橫排,則改為豎排
elseif(getRequestedOrientation() ==ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}
在AndroidManifest.xml檔案裡設定預設方向
<activity android:name=".ChangeOrientation"
android:label="@string/app_name"
android:screenOrientation="portrait">
32.防止旋屏後重新執行onCreate
只需要在Activity 的設定檔裡添加屬性:
android:configChanges="orientation|keyboardHidden|navigation"
可以在activity中重載onConfigurationChanged方法,根據不同旋轉方向做其他動作,如下:
@Override
public void onConfigurationChanged(ConfigurationnewConfig) {
super.onConfigurationChanged(newConfig);
}