如何在Android中的多个Z有序表面视图之上放置UI小部件

时间:2013-11-01 12:49:53

标签: android android-layout surfaceview

我有2 SurfaceViews和1 button,他们需要以与所附屏幕截图类似的方式进行排列。我可以通过调用SurfaceView B

SurfaceView A置于surfaceViewB.setZOrderOnTop(true);之上

问题在于,一旦我这样做,SurfaceView B被放置在实际窗口之上,我不再能够使Button位于其上面(例如,调用button.bringToFront()这里没用。)

知道如何实现这种布局吗?enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用setZOrderMediaOverlay(boolean)将SurfaceView B放置在SurfaceView A上,但仍然在窗口后面。来自文档:Link

  

public void setZOrderMediaOverlay(boolean isMediaOverlay)

     

控制曲面视图的曲面是否放在另一个曲面上   窗口中的常规表面视图(但仍然在窗口后面   本身)。这通常用于在一个顶部放置叠加层   底层媒体表面视图。

     

请注意,必须在曲面视图的包含窗口之前设置它   附在窗口管理器上。

     

调用它会覆盖先前对setZOrderOnTop(boolean)的任何调用。

因此,以下内容适合您:

surfaceViewB.setZOrderMediaOverlay(true);