![](/img/trans.png)
[英]How to Make a Custom Overlay View Transparent on top of a SurfaceView?
[英]Add view on top of transparent SurfaceView?
此答案描述了如何使用透明背景制作SurfaceView
。
但是它需要setZOrderOnTop(true)
在被称为SurfaceView
,这勿庸置疑放SurfaceView
上的其他视图顶部。
这不是我想要的。 鉴于View
小号A
, C
,并SurfaceView
B
我想订购的意见作为A
落后B
背后C
。
如果B
不是具有透明背景的SurfaceView
,那么这只是:
<RelativeLayout>
<ViewA>
<ViewB>
<ViewC>
</RelativeLayout>
当B
是具有透明背景的SurfaceView
时,是否可以实现此目的?
当前的SurfaceView API有四个可能的层。 从上到下:
SurfaceView曲面和包含所有视图的曲面由系统合成器合成。 你不能在两个视图之间将Z-order三明治夹在中间。 (如果您需要完整的详细信息,请阅读本文 。另请参阅Grafika中的多表面测试活动,该软件将渲染为三个重叠的透明SurfaceView。)
您可能想要做的是使用TextureView (API 14+),它具有许多相同的属性,但与Views完全交互。 如果您使用Canvas在SurfaceView上绘图,则可以使用自定义视图,该视图具有硬件加速渲染的附加优势。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.