开发者

Android: Disable rotations by 90°, but enable rotations by 180°

I would like to create an Android app (for a tablet) that should be only displayed in landscape orientation, e.g. the app should ignore rotations by 90°, but support rotations by 180°.

Adding android:screenOrientation="landscape" in the manifest causes the app to ignore all rotations, (even the 180° rotations), i.e. rotating the device by 180° shows the application upside down.

Without the android:screenOrientation attribute my app is displayed "correctly" in all four positions. Rotation the device by 180° flips the UI vertically resp. horizontally.

When rotation the device the following log messages are created (maybe this helps?):

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

Summarized: Is it possible to enable an app to support both landscape orientations?


The new sensorLandscape screen orientation is apparently meant for this purpose.

Eg, you could do:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);

Unfortunately, this is only available as of Android 2.3. I'm currently looking for a way to achieve this on Froyo.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜