![](/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.