我需要实现圆形相机预览。我正在使用带有TextureView的camera2 api。我添加了如下布局:
<FrameLayout>
<TextureView/>
<CircularImageView/>
<FrameLayout/>
这样做我得到以下结果: 如您所见,相机预览以方形显示,但我希望它是圆形的,同时将黄色图像保留在背景中。我怎样才能做到这一点?我确实提到了一些关于类似问题的例子,但是它们是使用旧的相机api而不是TextureView完成的。
感谢任何帮助。
答案 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图层中的圆孔显示感兴趣的区域。