我知道如何将活动锁定在特定方向(在AndroidManifest.xml中):
android:screenOrientation="landscape|portrait"
我知道如何以编程方式锁定特定方向:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
但是,如何将活动锁定到开始的方向?例如,如果它开始肖像,它应该坚持下去。
谢谢!
我知道如何将活动锁定在特定方向(在AndroidManifest.xml中):
android:screenOrientation="landscape|portrait"
我知道如何以编程方式锁定特定方向:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)
但是,如何将活动锁定到开始的方向?例如,如果它开始肖像,它应该坚持下去。
谢谢!
getResources().getConfiguration().orientation
在您的应用启动时使用,然后像上面那样以编程方式设置方向。该方法将返回 ORIENTATION_LANDSCAPE
或 ORIENTATION_PORTRAIT
找到了解决方案:
switch (((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay().getRotation()) {
case Surface.ROTATION_90:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
break;
case Surface.ROTATION_180:
setRequestedOrientation(9/* reversePortait */);
break;
case Surface.ROTATION_270:
setRequestedOrientation(8/* reverseLandscape */);
break;
default :
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
在这里找到它。
我就是这样做的:
android:screenOrientation="portrait"
android:configChanges="keyboard|keyboardHidden|orientation"
在清单中的活动中