1

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

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

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

任何帮助表示赞赏。

4

1 回答 1

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 />

上面的简写假设size --> android:widthandroid:height。纹理大小以编程方式设置以适应相机预览纵横比,并通过其上方 ImageView 层中的圆孔暴露感兴趣的区域。

于 2017-11-11T17:39:17.463 回答