如何使我的Android应用程序成为横向或纵向,但没有相反的指示?
这意味着我要启用SCREEN_ORIENTATION_PORTRAIT
和SCREEN_ORIENTATION_LANDSCAPE
,但要禁用SCREEN_ORIENTATION_REVERSE_LANDSCAPE
和SCREEN_ORIENTATION_REVERSE_PORTRAIT
。
由于
答案 0 :(得分:1)
我在相机应用中遇到了相同的问题/功能请求,并发现了这篇文章:
android camera surfaceview orientation
在changeRotation中,只需评论ORIENTATION_PORTRAIT_INVERTED
和ORIENTATION_LANDSCAPE_INVERTED
,并创建方法rotateViews(int degrees)
,以便在常规横向/纵向之间切换时旋转布局的所有图像(按钮)。
另外,
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
对我而言比
更好setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR | ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
答案 1 :(得分:0)
确保通过向清单文件的活动代码中的android:configChanges
标记属性添加“orientation”来通知系统您要处理方向更改。
覆盖Activity.onConfigurationChanged()
并检查传递的Configuration
参数中的Configuration.orientation
字段,并将活动方向设置为ActivityInfo.SCREEN_ORIENTATION_PORTRAIT
或ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
适当地使用Activity.setRequestedOrientation
。