我通过
强制了我的应用方向setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
但是当我想将布局更改为横向布局时(当设备旋转时 - 我通过OrientationEventListener获取信息)它只是不将其渲染为横向。有什么方法可以强迫它吗?就像想象将设备保持在肖像模式,但布局是横向的。但未通过
实现setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
或
android:screenOrientation="landscape" in manifest
我想让它被迫拍摄,因为我正在构建一个相机应用程序,它每次都会弄乱相机,我想让它像默认相机一样 - 没有变化,只是按钮方向。如果这是有道理的。
答案 0 :(得分:1)
许多相机应用程序通过轮换View
来实现这一点,这是一个很好的方法,因为您不必将活动生命周期以及作为相机生命周期处理。它们具有锁定方向,但他们使用加速计来获取设备旋转,然后相应地旋转View
。
Camera API使您能够set camera rotation以及图片方向。图片方向应设置为零,因为Camera API对此不可靠。
使用加速计确定实际设备旋转并将图片的EXIF旋转设置为正确的旋转。