3

我使用加速度计制作了一个应用程序,但问题是每当它检测到屏幕旋转时,它就会进入主菜单。

我使用以下代码禁用旋转,但它仍然检测到旋转动作并进入主菜单,尽管它不再成为横向模式。

    if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }

如何防止这种旋转检测?

4

3 回答 3

7

android:screenOrientation="portrait"您的活动标记放入 AndroidManifest.xml 文件中。该属性定义此特定活动应始终以纵向模式运行,因此 Android 不会尝试在旋转时更改屏幕方向。

于 2012-01-05T11:26:44.280 回答
2

您还需要添加

android:configChanges="keyboard|keyboardHidden|orientation"

为了防止在键盘出现或隐藏时重新启动。

如果您使用它,android:screenOrientation="portrait"如果您希望游戏在横向和纵向模式下运行,您甚至可以删除。请参阅 libgdx 维基:https ://code.google.com/p/libgdx/wiki/ApplicationConfiguration#The_.xml_File

于 2013-09-05T20:36:34.660 回答
2

Kimi 的回答是正确的,但是如果你想在亚马逊设备上运行你的游戏,那么你应该添加附加值“screenSize”。所以结果是:

android:configChanges="keyboard|keyboardHidden|orientation|screenSize"

于 2014-04-02T21:53:44.127 回答