锁定/解锁方向

发布于 2024-11-15 11:46:50 字数 372 浏览 5 评论 0原文

要将方向锁定为纵向,我使用:

activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

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

SCREEN_ORIENTATION_FULL_SENSOR
SCREEN_ORIENTATION_SENSOR
SCREEN_ORIENTATION_UNSPECIFIED
SCREEN_ORIENTATION_USER


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

To lock my orientation to portrait, I use:

activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

I'm unsure what flag tells the activity to go back to relying on the device orientation. I imagine it is one of these:

SCREEN_ORIENTATION_FULL_SENSOR
SCREEN_ORIENTATION_SENSOR
SCREEN_ORIENTATION_UNSPECIFIED
SCREEN_ORIENTATION_USER

On another note, why isn't the android documentation open source? The documentation is completely lacking. Very few of the functions and flags have useful descriptions.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

葬シ愛 2024-11-22 11:46:50

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

Per http://developer.android.com/reference/android/R.attr.html#screenOrientation (screenOrientation being what those values are linked to if you dig through the documentation), SCREEN_ORIENTATION_SENSOR or SCREEN_ORIENTATION_FULL_SENSOR will do it, depending on how much flexibility you want -- however, I suspect what you really want is to go back to the default setting, which is SCREEN_ORIENTATION_UNSPECIFIED so that it goes back to the system defaults, including any the user set.

一绘本一梦想 2024-11-22 11:46:50

对我来说,一个简单的修复方法是在 AndroidManifest.xml 中添加一行,如下所示:

Add 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>

An easy fix for this that worked for me is to add a line to AndroidManifest.xml like so:

Add android:screenOrientation="portrait"> in the application section.

<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>
会发光的星星闪亮亮i 2024-11-22 11:46:50

<块引用>

如果此 Activity 的应用清单条目中的“android:immersive”属性设置为“true”,则 ActivityInfo.flags成员始终设置其 FLAG_IMMERSIVE 位,即使在运行时使用“setImmersive()”方法更改沉浸式模式也是如此。

If the "android:immersive"attribute is set to"true " in the app's manifest entryfor this activity, the ActivityInfo.flagsmember always has its FLAG_IMMERSIVE bit set, even if the immersive mode is changed at runtime using the "setImmersive()" method.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文