如何将我的活动设置为纵向模式,但仍允许用户将设备旋转180度?

时间:2011-12-16 19:36:30

标签: android android-activity

如何在代码中设置我的活动以支持SCREEN_ORIENTATION_PORTRAIT或SCREEN_ORIENTATION_REVERSE_PORTRAIT?

我想强制执行肖像模式,但我不关心哪一方向上,哪一方向下。

如果以下内容有效(但事实并非如此)会很好:

setRequestedOrientation( ActivityInfo.SCREEN_ORIENTATION_PORTRAIT | ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT );

也许是一个单独的问题,有没有办法在不使用SCREEN_ORIENTATION_REVERSE_PORTRAIT的情况下完成此任务,因为我的目标是android 2.1(api level 7),直到api 9级才会引入。

感谢。

1 个答案:

答案 0 :(得分:1)

简短的回答是否定的,在api 9之前没有办法做到这一点

长答案是肯定的,但它需要你自己处理加速度计监听器和屏幕画布而不是依靠系统来做它。

如果您不能/不想为API 9构建,我建议您暂时坚持使用SCREEN_ORIENTATION_PORTRAIT。自己处理旋转可能会有点痛苦,并且可能会引入一些非常奇怪的显示错误

在我看来,如果你是在风景而不是肖像,支持反向定位会更有意义。在我看来,一个用户更有可能将他们的设备放在右侧,或者左侧放下横向模式,然后他们将他们的设备完全倒置为肖像。