2011-05-12 86 views
2

我正在寻找基于设备类型更改屏幕方向。我们的开发平台是通过HMDI连接到LCD(并且是固定的),然后在实际的手机或平板电脑上进行测试。我希望开发平台始终以横向出现,而其他所有内容都以纵向出现。通过设备设置Android应用屏幕方向

我写了一个小静态方法,它接受一个Activity对象,并在设备为特定类型时调用它的setScreenOrientation。我将这个方法的调用放在Activity的onCreate上,并将它自己作为参数传递。或者,我也将它放在onStart中。问题在于它导致了不可预知的行为。我怀疑这个Activity是通过调用setRequestedOrientation重新启动的。通过调用此方法,API确实声明“活动可以重新启动”。有时它会在解决之前多次改变方向,有时它不会,而且它似乎总是使应用程序崩溃。

我想这个问题变成:如何在没有使用Manifest的情况下为尚未开始的活动设置方向?

任何帮助表示赞赏。

感谢, 布赖恩

+0

在'setScreenOrientation'下,你可能意思是'setRequestedOrientation'? – inazaruk 2011-05-12 22:42:25

回答

2

不能设置方向动态,你实际运行之前。

如果您希望您的方向有所不同,您应该使用其中一种方向模式:默认方式,根据设备偏好以及用户如何旋转屏幕,“nosensor”使用设备的首选方向不允许它根据用户旋转屏幕等而改变。

+0

似乎“传感器”可能是要走的路。我会试一试。谢谢! – Brian 2011-05-12 23:33:04

+0

nosensor做到了!再次感谢! – Brian 2011-05-25 03:12:57