【问题标题】:How to lock app to portrait mode as user preference如何根据用户偏好将应用程序锁定为纵向模式
【发布时间】:2012-08-21 01:31:10
【问题描述】:

我知道如何将应用锁定为纵向模式forever

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

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

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

【问题讨论】:

  • 您是否尝试过使用复选框?如果是真的,请使用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
  • @MrYanDao 我不知道这个setRequestedOrientation 方法。我想这正是我想要的。我会检查一下并报告。

标签: android autorotate


【解决方案1】:

感谢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);
        }
  }

【讨论】:

    【解决方案2】:

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

     <activity 
            android:name=".activityName" 
            android:label="@string/app_name" 
            android:screenOrientation="portrait">
    

    【讨论】:

      猜你喜欢
      • 2010-11-15
      • 1970-01-01
      • 2015-07-08
      • 1970-01-01
      • 2019-11-11
      • 2019-12-07
      • 2021-05-16
      • 2020-07-09
      • 1970-01-01
      相关资源
      最近更新 更多