当画布表面视图位于另一个画布之上时无法对其进行舍入

我创建了一个应用程序,其中将显示 2 个视频流,它们应该一个在另一个之上,一个应该在顶部有圆角边缘。我曾经CardView将 的边缘弄圆SurfaceView,这在关闭较低的视频流时会有所帮助。

一旦打开下方视频流,上方视频流的圆角就会消失,并且在另一个Canvas视频流的下方再次变为矩形。当一个流在另一个流之上播放时,如何确保边缘不会再次变直?

我尝试以不同的顺序放置 SurfaceView ,为orFrameLayout设置不同的背景,包括仅白色或透明背景,以及带有切边矩形的 View,在设置参数时-仍然超出了. cardPreventCornerOverlap 参数也没有效果。SurfaceViewCardViewcardCornerRadiusSurfaceViewCardView

我还尝试制作一个自定义画布,但我唯一实现的是在矩形周边的边缘周围用白色框架四舍五入,我需要确保没有框架。

超出底部画布的边缘是圆形的:

http://img.mukewang.com/641423020001a59105371074.jpg

另一幅画布上的所有边缘且未圆化:


http://img4.mukewang.com/6414231b0001fdc912660634.jpg

慕丝7291255
浏览 88回答 1
1回答

慕的地10843

据我所知,我以前做过类似的事情,如果您将其中一个 SurfaceView 切换到 TextureView,它就会起作用。这是因为 SurfaceView 的工作方式与其他视图不同,它基本上是一个透明视图,可以让您看到其他渲染层,而 TextureView 和 SurfaceView 的工作方式略有不同。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java