我使用加速度计制作了一个应用程序,但问题是每当它检测到屏幕旋转时,就会进入主菜单。
我使用下面的代码来禁用旋转,但它仍会检测旋转动作并转到主菜单,尽管它不再成为横向模式。
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
如何阻止此旋转检测?
答案 0 :(得分:7)
将android:screenOrientation="portrait"
放入AndroidManifest.xml文件中的activity标记内。该属性定义此特定活动应始终以纵向模式运行,因此Android不会尝试在旋转时更改屏幕方向。
答案 1 :(得分:2)
您还需要添加
android:configChanges="keyboard|keyboardHidden|orientation"
以防止键盘出现或被隐藏时重新启动。
如果您使用此功能,如果您希望游戏在横向和纵向模式下都能正常工作,甚至可以删除android:screenOrientation="portrait"
。请参阅libgdx wiki:https://code.google.com/p/libgdx/wiki/ApplicationConfiguration#The_.xml_File
答案 2 :(得分:2)
Kimi的回答是正确的,但是如果你想在亚马逊设备上运行你的游戏,那么你应该添加额外的值" screenSize"。结果将是:
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"