我知道如何将应用锁定为纵向模式forever:
<activity
android:screenOrientation="portrait"
android:name=".MyActivity"></activity>
我现在想把它作为用户偏好。也就是说,我不想为整个手机选中/取消选中Settings > Display > Auto-rotate screen
,而是希望我的应用只有一个类似的复选框。
我如何以编程方式执行此操作?
答案 0 :(得分:0)
感谢this answer,我想出了以下内容:
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);
}
}
答案 1 :(得分:-1)
您也可以在AndroidManifest.xml中将其指定为:
<activity
android:name=".activityName"
android:label="@string/app_name"
android:screenOrientation="portrait">