我使用了这个库https://github.com/pedrovgs/DraggablePanel,我在顶部有一个youtube片段,在底部有一个摄像头预览(片段内)。
我希望我的相机预览仅显示相机的一半底部(我不拍照,我只是预览前置相机的底部就像一面镜子) 如何裁剪相机预览?谢谢大家的帮助!
我已尝试设置SurfaceView height = screenwidth和parentView height = my_height但我的顶部片段(youtube片段)显示为SurfaceView
答案 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上下文中显示解码的视频流。