Android 禁止屏幕旋转、避免转屏时重启Activity
一、禁止屏幕旋转
在AndroidManifest.xml的每一个需要禁止转向的Activity配置中加入android:screenOrientation属性:
可选项:
landscape = 横向
portrait = 纵向
二、避免转屏时重启Activity
android中每次屏幕方向切换时都会重启Activity,所以应该在Activity销毁前保存当前活动的状态,在Activity再次 Create的时候载入配置,这样就不会丢失之前的进度了:
通过在AndroidManifest.xml文件中重新定义方向(给每个Activity加上 android:configChanges=”keyboardHidden|orientation”属性)。
在需要控制屏幕显示方向的Activity中重写 onConfigurationChanged(Configuration newConfig)方法,这样在转屏时就不会重启Activity了。
1 android:screenOrientation=”landscape” 2 android:configChanges=”keyboardHidden|orientation”
1 @Override 2 public void onConfigurationChanged(Configuration newConfig) { 3 super.onConfigurationChanged(newConfig); 4 5 if(newConfig.orientation==Configuration.ORIENTATION_LANDSCAPE) { 6 //横向 7 setContentView(R.layout.file_list_landscape); 8 } else { 9 //竖向 10 setContentView(R.layout.file_list); 11 } 12 }
感谢:
https://www.cnblogs.com/bluestorm/p/3665890.html