setRequestedOrientation配置为横屏闪退不生效问题

我们都知道Android 横屏有两种配置方式:
一种是在AndroidManifest.xml上写

android:screenOrientation="landscape"

另一种是在activity的java文件上写

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

本来2种是等价的,今天遇到了写setRequestedOrientation为横屏时app闪退,也没有明显的报错信息,但直接在AndroidManifest.xml写是没问题的;配置横屏时候才有这个问题。

解决方式就是
在activity的java文件配置

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

然后还要在AndroidManifest.xml上配置

android:configChanges="orientation"

原来如此!

附上各个属性值:
unspecified:默认值,由系统和手机型号决定
user:用户当前首选的方向
portrait:强制竖屏
landscape:强制横屏
sensorPortrait:基于设备传感器,竖屏旋转
sensorLandscape:基于设备传感器,横屏旋转,一般横屏游戏会设置
behind:与前一个activity方向相同
sensor:显示的方

你可能感兴趣的:(Android系统,Android,入门,android,java)