Android:禁用旋转90°,但旋转180°

时间:2010-12-06 22:35:24

标签: android orientation screen-orientation

我想创建一个Android应用程序(用于平板电脑),该应用程序应仅以横向显示,例如应用程序应忽略旋转90°,但支持旋转180°。

在清单中添加android:screenOrientation =“landscape”会导致应用忽略所有旋转(即使是180°旋转),即将设备旋转180°会显示应用程序颠倒。

如果没有android:screenOrientation属性,我的应用程序将在所有四个位置“正确”显示。将设备旋转180°会垂直翻转UI。水平。

当旋转设备时,会创建以下日志消息(这可能有帮助吗?):

[...]: INFO/WindowManager(1290): Setting rotation to 1, animFlags=0
Rotation is a value between 0 and 3 representing the current orientation.

总结:是否可以启用应用程序以支持横向方向?

1 个答案:

答案 0 :(得分:17)

新的sensorLandscape屏幕方向显然是出于此目的。

例如,你可以这样做:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);

不幸的是,这仅适用于Android 2.3。我正在寻找一种在Froyo上实现这一目标的方法。