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

标签 android orientation screen-orientation

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

在 list 中添加 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.

总结:是否可以让应用支持两种横向模式?

最佳答案

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

例如,你可以这样做:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);

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

关于Android:禁用旋转 90°,但启用旋转 180°,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4371631/

相关文章:

java - Android Studio 错误 : Can't create handler inside thread that has not called Looper. 准备()

android - 在不重新创建 View 的情况下在运行时更改 fragment 中的方向时更改布局

iphone-sdk-3.0 - UITabBarController、MoreNavigationController 和设备轮换的 chalice

ios - 从每个设备和方向的启动文件( Storyboard)中提取图像

ios - 由于图像太多,应用程序太大

android - 使用 AlarmManager 每 20 秒运行一次 Android 服务不会在从应用程序列表中终止该应用程序时重新启动

android - 应用程序中的 Google Play 服务版本与第三方库发生冲突

java - 如何使用 Dagger 2 在改造调用中添加授权 header

javascript - 屏幕宽度 Javascript 不适用于所有 Android 设备

objective-c - iOS 应用以横向模式启动