3

我知道如何将应用程序永远锁定为纵向模式:

<activity
android:screenOrientation="portrait"
android:name=".MyActivity"></activity>

我现在想将此作为用户偏好。也就是说,我不想让用户检查/取消选中Settings > Display > Auto-rotate screen整个手机,我只想为我的应用程序设置一个类似的复选框。

我如何以编程方式做到这一点?

4

2 回答 2

0

感谢这个答案,我想出了以下内容:

 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);
        }
  }
于 2012-08-21T16:19:07.767 回答
-1

您还可以在 AndroidManifest.xml 中将其指定为:

 <activity 
        android:name=".activityName" 
        android:label="@string/app_name" 
        android:screenOrientation="portrait">
于 2012-08-21T01:58:30.533 回答