安卓:集活动取向前的onCreate,但不是在清单(HDMI发行插)(Android: set ac

2019-07-30 02:34发布

我可以完全管理方向改变编程,通过使用setRequestedOrientationonCreate

一切工作真的很好,直到我插上HDMI连接线。 在此之后,平板电脑“希望”是在横向模式。 所以,当我打开一个活动,它显示在首“风景”,然后右键后,显示了“肖像”,(因为我打电话setRequestedOrientation(variable_with_orientation_desired_by_the_user)其中variable=ActivityInfo.SCREEN_ORIENTATION_PORTRAITonCreate正如你可以“看到”,我的应用程序保持在用户打开每一个活动旋转;

如果我设置在清单活动orientantion,这个问题是部分消失了,因为在清单中的方向是相同的用户已经回升。 如果它们是不同的,同样的行为再次启动。

我想这一点,但没有成功:

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

那么,有没有办法告诉到Android什么orientantion必须创建我的活动,它创建过吗? (但它不能在清单)

Answer 1:

我解决它在清单文件screenOrientation设置为“幕后黑手”:

        android:screenOrientation="behind"


Answer 2:

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

android:screenOrientation="locked"

在每个活动清单这一问题声明。

并继续使用setRequestedOrientation()编程来定义,如果内横向或纵向onCreate()方法,

希望它可以帮助别人,



文章来源: Android: set activity orientation BEFORE onCreate, but not in manifest (HDMI plugged in issue)