我可以通过在onCreate
中使用setRequestedOrientation
来完美地管理方向更改程序。但是,当我插入HDMI电缆后,一切都变得不太好。平板电脑“想要”处于横向模式。因此,当我打开一个活动时,它首先显示为“横向”,然后立即显示为“纵向”,因为我在onCreate
中调用了setRequestedOrientation(variable_with_orientation_desired_by_the_user)
,其中variable=ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
。正如您所看到的,我的应用程序在用户打开每个活动时都会旋转;
如果我在清单中设置活动的方向,这个问题部分解决了,因为清单中的方向与用户选择的方向相同。如果它们不同,同样的行为会再次开始。
我尝试过这个,但没有成功:
@Override
public void onCreate(final Bundle saved)
{
setRequestedOrientation(ScreenOrientation);
super.onCreate(icicle);
}
所以,有没有办法在Android创建Activity之前告诉它要创建的方向呢?(但不能在清单中指定)
super.onCreate(icicle);
之后加上您的setRequestedOrientation(ScreenOrientation);
。另外,您使用的是哪个API版本? - Praveenkumar