4

setRequestedOrientation我可以通过使用in 以编程方式完美地管理方向更改onCreate

一切都很好,直到我插入 HDMI 电缆。在此之后,平板电脑“想要”处于横向模式。因此,当我打开一个活动时,它首先以“横向”显示,然后在它以“纵向”显示之后,(因为我正在调用您setRequestedOrientation(variable_with_orientation_desired_by_the_user)可以“看到”的位置,我的应用程序会在用户打开的每个活动上不断旋转;variable=ActivityInfo.SCREEN_ORIENTATION_PORTRAITonCreate

如果我在清单中设置活动的方向,这个问题就会部分消失,因为清单中的方向与用户选择的方向相同。如果它们不同,则再次开始相同的行为。

我试过这个,但没有成功:

@Override
public void onCreate(final Bundle saved)
{
    setRequestedOrientation(ScreenOrientation);
    super.onCreate(icicle);
}

那么,有没有办法告诉android它必须创建我的活动的方向,然后才创建它?(但它不能在清单中)

4

2 回答 2

10

我通过在清单文件中将 screenOrientation 设置为“后面”来解决它:

        android:screenOrientation="behind"
于 2012-07-13T12:39:14.637 回答
8

我在清单中使用此声明解决了它:

android:screenOrientation="locked"

在与此问题一起在清单中声明的​​每项活动上。

并继续以setRequestedOrientation()编程方式定义方法中是横向还是纵向onCreate()

希望能帮助到你!

于 2018-06-07T22:59:57.913 回答