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

jan*_*nas 15 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.
Run Code Online (Sandbox Code Playgroud)

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

oli*_*erg 17

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

例如,你可以这样做:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
Run Code Online (Sandbox Code Playgroud)

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