我有2 SurfaceViews
和1 button
,他们需要以与所附屏幕截图类似的方式进行排列。我可以通过调用SurfaceView B
SurfaceView A
置于surfaceViewB.setZOrderOnTop(true);
之上
问题在于,一旦我这样做,SurfaceView B
被放置在实际窗口之上,我不再能够使Button位于其上面(例如,调用button.bringToFront()
这里没用。)
知道如何实现这种布局吗?
答案 0 :(得分:1)
您可以使用setZOrderMediaOverlay(boolean)
将SurfaceView B放置在SurfaceView A上,但仍然在窗口后面。来自文档:Link:
public void setZOrderMediaOverlay(boolean isMediaOverlay)
控制曲面视图的曲面是否放在另一个曲面上 窗口中的常规表面视图(但仍然在窗口后面 本身)。这通常用于在一个顶部放置叠加层 底层媒体表面视图。
请注意,必须在曲面视图的包含窗口之前设置它 附在窗口管理器上。
调用它会覆盖先前对setZOrderOnTop(boolean)的任何调用。
因此,以下内容适合您:
surfaceViewB.setZOrderMediaOverlay(true);