Android相机预览只显示半个底部

时间:2016-11-28 05:25:47

标签: android android-camera surfaceview android-textureview

我使用了这个库https://github.com/pedrovgs/DraggablePanel,我在顶部有一个youtube片段,在底部有一个摄像头预览(片段内)。

我希望我的相机预览仅显示相机的一半底部(我不拍照,我只是预览前置相机的底部就像一面镜子) 如何裁剪相机预览?谢谢大家的帮助!

我已尝试设置SurfaceView height = screenwidth和parentView height = my_height但我的顶部片段(youtube片段)显示为SurfaceView

2 个答案:

答案 0 :(得分:0)

将修复高度(例如200dp)设置为surfaceView并将其对齐到父级(屏幕)的底部。 并相应地设置相机预览尺寸

 Camera.Parameters params = camera.getParameters();
 params.setPreviewSize(your_width,your_height);
 camera.setParameters(params);

答案 1 :(得分:0)

您无法在SurfaceView中裁剪相机预览图像。

您可以通过简单地将其与其他视图(普通的XML布局功能)重叠来隐藏SurfaceView的上半部分。但要小心:SurfaceView的行为与“真实”视图不完全相同,并且它并不总是“遵循视图层次结构的规则”。通常,您可以通过在onResume()中以编程方式构建视图层次结构来克服这些故障。

另一种方法是切换到TextureView,或直接使用SurfaceTexture并在您选择的OpenGL上下文中显示它。在后一种情况下,您可以使用其他一些OpenGL对象部分覆盖相机预览纹理,例如,在同一个OpenGL上下文中显示解码的视频流。