我知道如何将应用程序永远锁定为纵向模式:
<activity
android:screenOrientation="portrait"
android:name=".MyActivity"></activity>
我现在想将此作为用户偏好。也就是说,我不想让用户检查/取消选中Settings > Display > Auto-rotate screen
整个手机,我只想为我的应用程序设置一个类似的复选框。
我如何以编程方式做到这一点?
我知道如何将应用程序永远锁定为纵向模式:
<activity
android:screenOrientation="portrait"
android:name=".MyActivity"></activity>
我现在想将此作为用户偏好。也就是说,我不想让用户检查/取消选中Settings > Display > Auto-rotate screen
整个手机,我只想为我的应用程序设置一个类似的复选框。
我如何以编程方式做到这一点?
感谢这个答案,我想出了以下内容:
private void doLock(boolean locked) {
if (locked) {
int o = getResources().getConfiguration().orientation;
if (o == Configuration.ORIENTATION_LANDSCAPE)
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
else if (o == Configuration.ORIENTATION_PORTRAIT)
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
else {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
}
}
您还可以在 AndroidManifest.xml 中将其指定为:
<activity
android:name=".activityName"
android:label="@string/app_name"
android:screenOrientation="portrait">