我正在制作应用程序/游戏,应该在多人模式下在portrait
和reversePortrait
之间切换。 (主要是因为每个玩家都可能在他/她的转盘上使用键盘,而设备固定在它们之间的桌子上。)Android:即使设备自动旋转屏幕关闭,如何强制反向纵向定位?
我的应用程序在自动旋转开启时工作正常..但是reversePortrait
方向永远不可实现当设备自动旋转关闭时!
我做什么到目前为止,我已经设置在Manifest
文件的方向:在需要时通过调用此方法
<activity
android:name=".MainActivity"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
然后我编程改变方向运行时:
public void rotateScreen(boolean reverse){
if (reverse) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);
}
else{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
但是,如果设备自动旋转关闭,那么仍然不会强制为reversePortrait
方向。
我也尝试了方法,但它没有工作。我认为它只是在改变方向之后才被调用,而不是之前!
我甚至在Manifest
文件中试过screenOrientation="reversePortrait"
,但即使在自动旋转关闭的情况下,它也是无效的。
你可以在你的'rotateScreenMethod()'中添加一个检查,以便它检查'Settings.System.ACCELEROMETER_ROTATION',并且如果它没有设置。有关更多信息,请参阅此答案:http://stackoverflow.com/a/4909079/2891462。 – user2891462