我有一个表面视图,显示相机预览,在横向模式下看起来不错,但是当我将手机旋转到纵向时,表面视图会旋转,相机预览位于其侧面看起来不对。
当我将应用程序方向修改为AndroidManifest.xml
中的横向时,表面视图表现我想要的方式,因为它不会旋转并且相机预览效果很好。
问题是我在屏幕上有其他物体需要随着手机的方向旋转,现在不是因为我已经将方向设置为横向。
任何人都可以帮我一个方法,让手机旋转时将所有东西从表面视图中移开,或者当应用程序方向设置为横向时,如果无法获得手机的当前物理方向,以便我可以手动旋转其他对象。
谢谢,安德鲁
答案 0 :(得分:0)
Camera.Parameters有一个setRotation()方法。当您从横向更改为纵向时,使用它来旋转相机,反之亦然。然后,您不必费心将布局与曲面视图分离。
答案 1 :(得分:0)
public void surfaceDestroyed(SurfaceHolder holder){
if(mCamera!=null){
mCamera.stopPreview();
mCamera.setPreviewCallback(null);
mCamera.release();
mCamera=null;
}
}