如何在Android中强制更改布局

时间:2014-02-10 16:38:43

标签: android

我通过

强制了我的应用方向
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

但是当我想将布局更改为横向布局时(当设备旋转时 - 我通过OrientationEventListener获取信息)它只是不将其渲染为横向。有什么方法可以强迫它吗?就像想象将设备保持在肖像模式,但布局是横向的。但未通过

实现
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

android:screenOrientation="landscape" in manifest

我想让它被迫拍摄,因为我正在构建一个相机应用程序,它每次都会弄乱相机,我想让它像默认相机一样 - 没有变化,只是按钮方向。如果这是有道理的。

1 个答案:

答案 0 :(得分:1)

许多相机应用程序通过轮换View来实现这一点,这是一个很好的方法,因为您不必将活动生命周期以及作为相机生命周期处理。它们具有锁定方向,但他们使用加速计来获取设备旋转,然后相应地旋转View

Camera API使您能够set camera rotation以及图片方向。图片方向应设置为零,因为Camera API对此不可靠。

使用加速计确定实际设备旋转并将图片的EXIF旋转设置为正确的旋转。