通过在onCreate
中使用setRequestedOrientation
,我可以通过编程完美地管理方向更改。
一切都很好,直到我插上HDMI连接线。在此之后,平板电脑“希望”处于横向模式。所以当我打开一个活动时,它首先在“横向”中显示,然后在“纵向”中显示,(因为我在onCreate
中调用setRequestedOrientation(variable_with_orientation_desired_by_the_user)
where variable=ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
,正如你“看到”的那样,我的应用程序在用户打开的每个活动上都保持旋转;
如果我为清单中的活动设置了方向,这个问题就会部分解决,因为清单中的方向与用户选择的方向是相同的。如果它们不同,相同的行为将重新开始。
我试过了,但没有成功:
@Override
public void onCreate(final Bundle saved)
{
setRequestedOrientation(ScreenOrientation);
super.onCreate(icicle);
}
那么,有没有办法告诉android,在它创建我的活动之前,它必须创建什么方向呢?(但不能出现在清单中)
发布于 2012-07-13 20:39:15
我通过在清单文件中将screenOrientation设置为“幕后”来解决这个问题:
android:screenOrientation="behind"
发布于 2018-06-08 06:59:58
我在manifest中使用这个声明解决了这个问题:
android:screenOrientation="locked"
在带有此问题的清单中声明的每个活动上。
并继续编程地使用setRequestedOrientation()
来定义onCreate()
方法中的横向或纵向,
希望它能帮上忙!
https://stackoverflow.com/questions/11192245
复制相似问题