在Android中将setZOrderOnTop设置为true的SurfaceView顶部的按钮

时间:2016-09-13 14:15:35

标签: android surfaceview

我在应用中有两个表面视图,一个表面视图需要与另一个表面视图重叠。例如,假设SurfaceView A和SurfaceView B有两个表面视图.B需要位于A之上,这是通过在B上设置setZOrderOnTop(true)来实现的。

现在,我想在B顶部显示一些文字或按钮,但因为它将Z顺序设置为true,所以添加的文字或按钮不显示在顶部,而是显示在它下面。如果未设置setZOrderOnTop属性,则文本视图和按钮会显示在顶部,但B不会重叠A.

我已经尝试将SurfaceView B和textview或按钮放在FrameLayout中,但它仍然显示在B下。是否有一种方法可以将z顺序设置为true并且仍然可以将文本或按钮放在其上?

1 个答案:

答案 0 :(得分:3)

我可以使用setZOrderMediaOverlay(true)代替setZOrderOnTop来解决此问题。

如果设置为true,方法setZOrderOnTop将始终位于窗口的顶部。因此,为了在表面视图上使用叠加视图,应使用setZOrderMediaOverlay

有关详细信息,请参阅setZOrderMediaOverlay document here.