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

mob*_*dev 2 android surfaceview

我在应用程序中有两个Surfaceview,一个SurfaceView需要与另一个SurfaceView重叠。例如,假设有两个Surfaceview SurfaceView A和SurfaceViewB。B必须位于A的顶部,这可以通过在B上设置setZOrderOnTop(true)来实现。

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

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

mob*_*dev 6

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

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

有关更多信息,请参见setZOrderMediaOverlay文档。