2010-12-06 105 views
14

我想要创建仅应横向显示的Android应用(用于平板电脑),例如,应用程序应该忽略90°旋转,但支持旋转180°。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. 

概括为:是否有可能使一个应用程序来支持横向模式?

+0

我怀疑它......你为什么要支持颠倒模式,而不是其他旋转? – 2010-12-07 01:11:32

+0

@Mayra - 一个显而易见的事情是一个不适合肖像和设备的应用程序,这些应用程序可能在侧面具有“必需”按钮,USB端口等(在强制水平方向上成为“底部”)。 – Squonk 2010-12-07 01:48:08

回答

17

新的sensorLandscape屏幕方向显然是为了这个目的。

例如,你可以这样做:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE); 

不幸的是,这仅仅是可以作为的Android 2.3的。我目前正在寻找一种在Froyo上实现这一目标的方法。