Android中禁用屏幕旋转
16lz
2021-01-24
在Android中,如果屏幕发生了旋转(横向、纵向切换),那么会非常悲剧。会销毁当前的Activity,然后重新创建一个新屏幕方向的Activity。由于游戏中的参数很密集,而且一般不会考虑两种屏幕的情况,所以需要禁用屏幕旋转功能(和iPhone中大多数游戏类似)。
首先要禁用旋转,在AndroidManifest.xml中找到当前游戏主窗体的Activity配置文件,添加以下代码:
android:screenOrientation="landscape"
这里的landscape是横向的意思,其他选项用Eclipse的代码提示可以看到。现在运行游戏后,无论屏幕怎么切换,始终是横向的了。但是依然很悲剧,旋转屏幕后会重新创建Activity。还需要在Activity配置文件中添加以下代码:
android:configChanges="orientation|keyboardHidden"
添加了上面的代码后,再也不会重复的创建Activity了。如果需要捕获屏幕旋转的事件,只需要在Activity的代码中覆写onConfigurationChanged方法即可:
@Override public void onConfigurationChanged(Configuration newConfig) {super.onConfigurationChanged(newConfig); // do something }
OK,到此,再也不用担心屏幕旋转的问题了。
更多相关文章
- Android(安卓)4.0 多平台界面支持原理分析
- Android调用摄像头和本地相册
- Run c++ program with boost on Android
- Android(安卓)PopupWindow 实现自定义弹出层
- android屏幕刷新显示机制
- 检查Android本地代码的内存泄漏(Detecting memory leak in Androi
- 通过广播获取Android屏幕旋转事件
- Android绘制原理之刷新机制
- Android(安卓)L 设置background为?android:attr/selectableItemB