安卓切换横屏详解
2021-07-04 本文已影响0人
天下第九九八十一
activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
参数:
The preferred screen orientation this activity would like to run in, one of ——
- SCREEN_ORIENTATION_UNSPECIFIED
跟随系统方向
- SCREEN_ORIENTATION_LANDSCAPE
横屏
- SCREEN_ORIENTATION_PORTRAIT
竖屏
- SCREEN_ORIENTATION_USER
类似fullUser,区别是无法切换反向竖屏
- SCREEN_ORIENTATION_BEHIND
“继承Activity堆栈中当前Activity下面的那个Activity的方向”
- SCREEN_ORIENTATION_SENSOR
类似fullSensor,区别是无法切换反向竖屏
- SCREEN_ORIENTATION_NOSENSOR
“忽略物理感应器——即显示方向与物理感应器无关”
- SCREEN_ORIENTATION_SENSOR_LANDSCAPE
横屏,按照重力感应设置屏幕朝向
- SCREEN_ORIENTATION_SENSOR_PORTRAIT
竖屏,按照重力感应设置屏幕朝向
- SCREEN_ORIENTATION_REVERSE_LANDSCAPE
反向横屏
- SCREEN_ORIENTATION_REVERSE_PORTRAIT
反向竖屏
- SCREEN_ORIENTATION_FULL_SENSOR
忽略系统设置,按照重力感应设置屏幕朝向
- SCREEN_ORIENTATION_USER_LANDSCAPE
横屏,底部导航栏出现重力感应图标,点击后切换方向横屏。
- SCREEN_ORIENTATION_USER_PORTRAIT
竖屏,底部导航栏出现重力感应图标,点击后切换方向竖屏。
- SCREEN_ORIENTATION_FULL_USER
底部导航栏出现重力感应图标,点击后允许切换任意方向。
- SCREEN_ORIENTATION_LOCKED
“锁定当前方向”
( 引号部分参考 https://www.jianshu.com/p/198f4d21a991 )
参数不可以叠加使用,但方法可以叠加调用,比如以下代码可以切换至反向横屏,同时允许用户点击底部导航栏的图标变回正向横屏:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_USER_LANDSCAPE);