1

我有一个表面视图,显示在横向模式下看起来不错的相机预览,但是当我将手机旋转到纵向时,表面视图旋转并且相机预览位于其外观上错误。当显示相机预览时从旋转中停止表面视图

当我在我的AndroidManifest.xml中修复我的应用方向到风景时,表面视图的行为方式如何,因为它不会旋转并且相机预览效果很好。

问题是,我在屏幕上有其他物体需要与手机的方向一起旋转,现在不是因为我已将方向设置为横向。

任何人都可以帮助我从手表旋转时获得一切与表面视图分离的方式,或者,如果这是不可能的方式获取手机的当前物理方向,当应用程序的方向设置为风景,以便我可以手动旋转其他对象。

谢谢,安德鲁

+0

你可以试试这个,可以解决你的问题。 [机器人照相机surfaceview取向] [1] [1]:http://stackoverflow.com/questions/5157984/android-camera-surfaceview-orientation – Nonoroazoro 2013-01-30 08:56:55

回答

0

Camera.Parameters具有setRotation()方法。当您从风景变为人像时,使用它来旋转相机,反之亦然。然后,您不必费心将表面视图与布局分开。

+0

感谢您的快速响应。我试着用setRotation旋转相机,但预览仍然以不正确的旋转显示。我尝试使用params.set(“旋转”,0),我一次尝试过两次,我试图停止预览之前进行更改并重新启动,但没有任何工作。 – 2011-05-07 11:03:41

+0

看看这个:http://stackoverflow.com/questions/5157984/android-camera-surfaceview-orientation – pumpkee 2011-05-07 11:41:00

0
public void surfaceDestroyed(SurfaceHolder holder){ 
    if(mCamera!=null){ 
     mCamera.stopPreview(); 
     mCamera.setPreviewCallback(null); 
     mCamera.release();  
     mCamera=null; 

    } 
}