我们都知道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:显示的方