锁定/解锁方向

时间:2011-06-15 16:43:46

标签: android orientation flags

要将我的方向锁定为肖像,我使用:

activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

我不确定哪个标志告诉活动回到依赖于设备方向。我想这是其中之一:

SCREEN_ORIENTATION_FULL_SENSOR
SCREEN_ORIENTATION_SENSOR
SCREEN_ORIENTATION_UNSPECIFIED
SCREEN_ORIENTATION_USER


另外注意,为什么Android文档不是开源的?文档完全缺乏。很少有函数和标志有有用的描述。

3 个答案:

答案 0 :(得分:19)

http://developer.android.com/reference/android/R.attr.html#screenOrientation(如果您仔细阅读文档,screenOrientation就是这些值链接的内容),SCREEN_ORIENTATION_SENSORSCREEN_ORIENTATION_FULL_SENSOR会执行此操作,具体取决于您需要多少灵活性 - 但是,我怀疑你真正想要的是回到默认设置,即SCREEN_ORIENTATION_UNSPECIFIED,以便它回到系统默认值,包括任何用户设置。

答案 1 :(得分:1)

对我有用的一个简单的解决方法是在AndroidManifest.xml中添加一行,如下所示:

添加android:screenOrientation =“portrait”>在申请部分。

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".App"
              android:label="@string/app_name"
              android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

</application>

答案 2 :(得分:0)

  
    

如果为此活动在应用的android:immersive"中将“ true属性设置为“ manifest entry”,则ActivityInfo.flags成员始终将其FLAG_IMMERSIVE位置1,浸入模式在运行时使用“ setImmersive()”方法进行了更改。