[Android SetRequestRotation在启用自动旋转时将活动横向翻转为纵向

问题描述 投票:2回答:2

我正在尝试将RequestOrientation设置为纵向,但启用自动旋转后,Activity旋转为横向,并设置为纵向。该活动将支持横向和纵向模式。Android 7.0以上版本会发生此问题。

android orientation screen-orientation android-8.0-oreo
2个回答
0
投票

尝试像这样设置屏幕方向以遵循先前的设置方向

<activity
    android:name="com.my.example.MyActivity"
    android:screenOrientation="behind" >
</activity>

将它设置为behind


0
投票

默认android:screenOrientationunspecified。这意味着

默认值。系统选择方向。它使用的策略以及因此在特定上下文中做出的选择可能因设备而异。

例如,在某些平板电脑中,系统将选择的默认设置为横向,因此系统可能会在您开始活动后立即自动旋转为横向,然后在执行setRequestOrientation时从横向切换为纵向。

因此,为了防止系统出现这种情况,您可以尝试为Android清单中的每个活动选择android:screenOrientation,例如:

<activity
    android:name="com.my.example.MyActivity"
    android:screenOrientation="locked" >
</activity>

<activity
    android:name="com.my.example.MyActivity"
    android:screenOrientation="behind" >
</activity>

取决于您的应用要求。有关这些选项和其他选项的更多信息,请参见Google documentation

© www.soinside.com 2019 - 2024. All rights reserved.