setRequestedOrientation中requestedOrientation的参数意义

在ActivityInfo类的screenOrientationToString方法中发现很多的决定方向的参数:

 @IntDef(prefix = { "SCREEN_ORIENTATION_" }, value = {
            SCREEN_ORIENTATION_UNSET,
            SCREEN_ORIENTATION_UNSPECIFIED,
            SCREEN_ORIENTATION_LANDSCAPE,
            SCREEN_ORIENTATION_PORTRAIT,
            SCREEN_ORIENTATION_USER,
            SCREEN_ORIENTATION_BEHIND,
            SCREEN_ORIENTATION_SENSOR,
            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
    })
属性值 含义
SCREEN_ORIENTATION_UNSET
SCREEN_ORIENTATION_UNSPECIFIED 未指定,此为默认值,由Android系统自己选择适当的方向,选择策略视具体设备的配置情况而定,因此不同的设备会有不同的方向选择
SCREEN_ORIENTATION_LANDSCAPE 强制横向横屏,显示的宽比高长(锁死为横屏方向,不再让方向感应起作用)
SCREEN_ORIENTATION_PORTRAIT 强制竖向横屏,显示的高比宽长(锁死为竖屏方向,不再让方向感应起作用)
SCREEN_ORIENTATION_USER 用户当前的首选方向
SCREEN_ORIENTATION_BEHIND 继承Activity堆栈中当前Activity下面的那个Activity的方向,它跟Activity堆栈中的下面一个Activity的方向一致
SCREEN_ORIENTATION_SENSOR 由设备的方向传感器决定,如果用户旋转设备,这屏幕就会横竖屏切换
SCREEN_ORIENTATION_NOSENSOR 忽略物理方向传感器,这样就不会随着用户旋转设备而横竖屏切换了,不管用户如何旋转设备显示方向都不会随着改变("unspecified"设置除外)(有人说这里有个坑:如果用户横屏拿着手机进行播放,界面也是横屏的,一旦设置了这个属性之后,手机界面会先变换到竖屏,然后才会锁死方向传感器)
SCREEN_ORIENTATION_SENSOR_LANDSCAPE 根据方向传感器来切换正反向横屏,但是不会切换到竖屏
SCREEN_ORIENTATION_SENSOR_PORTRAIT 根据方向传感器来切换正反向竖屏,不会切换到横屏
SCREEN_ORIENTATION_REVERSE_LANDSCAPE 反向横屏,横屏分正向横屏(靠左手方向横屏)和反向横屏(靠右手方向横屏)
SCREEN_ORIENTATION_REVERSE_PORTRAIT 反向竖屏,和正常竖着拿手机相反
SCREEN_ORIENTATION_FULL_SENSOR 由重力传感器决定0/90/180/270°
SCREEN_ORIENTATION_USER_LANDSCAPE 用户和重力传感器共同决定是哪个方向的横屏
SCREEN_ORIENTATION_USER_PORTRAIT 用户和重力传感器共同决定是哪个方向的竖屏
SCREEN_ORIENTATION_FULL_USER Activity的方向由方完全由用户来指定
SCREEN_ORIENTATION_LOCKED 锁死用户当前屏幕,方向传感器不生效

你可能感兴趣的:(setRequestedOrientation中requestedOrientation的参数意义)