需要在圆形视图中显示摄像机预览

时间:2017-11-11 14:49:15

标签: android camera android-camera android-camera2 android-textureview

我需要实现圆形相机预览。我正在使用带有TextureView的camera2 api。我添加了如下布局:

 <FrameLayout>
 <TextureView/>
 <CircularImageView/>
 <FrameLayout/>

这样做我得到以下结果: enter image description here 如您所见,相机预览以方形显示,但我希望它是圆形的,同时将黄色图像保留在背景中。我怎样才能做到这一点?我确实提到了一些关于类似问题的例子,但是它们是使用旧的相机api而不是TextureView完成的。

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您需要一个常规的图像视图,而不是CircularImageView,您可以在其中加载一个具有所需大小的圆形透明孔的png。

因此,建议的层次结构可能是这样的:

<FrameLayout size="match_parent">
   <TextureView size=<calculated_to_match_camera> centered />
   <ImageView size="match_parent" src="full-screen-gradient-with-transparent-circle-in-center.png" />
<FrameLayout />

上面的简写假设尺寸 - &gt; android:width android:height 。纹理大小以编程方式设置以适合相机预览宽高比,并通过其上方的ImageView图层中的圆孔显示感兴趣的区域。