1.配置activity默认显示方向 想要禁止转向
android:screenOrientation="portrait" / "landscape" 纵向 / 横向
unspecified--系统默认显示
user---用户当前的首选方向
behind---与当前堆栈下面的Activity同向
sensor---根据传感器定(常用)
nosensor---忽略传感器;系统根据unspecified显示
2.为了不使activity重启整个生命周期 (默认是重启的) 我们可以配置configChanges
activity加上android:configChanges="keyboardHidden|orientation"属性,就不会重启activity.而只是调用onConfigurationChanged(Configuration newConfig).这样就可以在这个方法里调整显示方式.
在xml文件里面可以进行配置configChanges也可以在代码中动态配置
//设置屏幕为横屏
MainActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
//设置为置屏幕为竖屏
MainActivity.this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
//监听系统设置的更改
@Override
public void onConfigurationChanged(Configuration newConfig) { }