GDa*_*ger 4 android surfaceview android-layout
这个答案描述了如何SurfaceView使用透明背景.
然而,它需要setZOrderOnTop(true)被调用SurfaceView,这毫不奇怪地放在SurfaceView其他视图的顶部.
这不是我想要的.鉴于View小号A,C和SurfaceView B我想订购的意见A背后B的后面C.
如果B不是SurfaceView透明背景,那么这只是:
<RelativeLayout>
<ViewA>
<ViewB>
<ViewC>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
当具有透明背景时,是否可以实现此B目的SurfaceView?
当前的SurfaceView API有四个可能的层.从上到下:
SurfaceView曲面和包含所有视图的曲面由系统合成器合成.你不能在两个视图之间将Z-order三明治夹在中间.(如果您需要完整的详细信息,请阅读本文.另请参阅Grafika中的多表面测试活动,该软件将渲染为三个重叠的透明SurfaceView.)
您可能想要做的是使用TextureView(API 14+),它具有许多相同的属性,但与Views完全交互.如果您使用Canvas在SurfaceView上绘图,则可以使用自定义视图,该视图具有硬件加速渲染的附加优势.