unspecified | 默认值。系统自动选择屏幕方向 |
behind | 跟activity堆栈中的下面一个activity的方向一致 |
landscape | 横屏方向,显示的宽比高长 |
portrait | 竖屏方向,显示的高比宽长 |
sensor | 由设备的物理方向传感器决定,如果用户旋转设备,这屏幕就会横竖屏切换 |
nosensor | 忽略物理方向传感器,这样就不会随着用户旋转设备而横竖屏切换了("unspecified"设置除外) |
user | 用户当前首选的方向 |
reverseLandscape | API 9 以上,反向横屏 |
reversePortrait | API 9 以上,反向竖屏 |
sensorLandscape | API 9 以上,横屏,但是可以根据 物理方向传感器来切换正反向横屏 |
sensorPortrait | API 9 以上,竖屏,但是可以根据 物理方向传感器来切换正反向竖屏 |
fullSensor | API 9 以上,上下左右四个方向,由物理方向传感器决定 |
locked | API 18 以上,锁死当前屏幕的方向 |
第一种
我们可以在AndroidManifest 清单文件里面制定Activity的方向
<activityandroid:name=".view.main.MainActivity"android:screenOrientation="portrait"><intent-filter><actionandroid:name="android.intent.action.MAIN"/><categoryandroid:name="android.intent.category.LAUNCHER"/></intent-filter></activity>
这样横竖屏切换的时候不会重新创建Activity
第二种
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);