在Android中支持多个活动的重叠表面视图

我目前正在一个Android应用程序,需要在一个屏幕上的几个重叠SurfaceViews。

确切地说,我有两个活动重叠的SurfaceViews,一个连接到Camera,另一个连接到MediaPlayer。 它大部分工作,但不稳定。 有时,其中一个SurfaceViews不显示。

我从2009年( http://groups.google.com/group/android-developers/browse_thread/thread/08e7df2e96a7973d )看到一个线索,说Android中不支持重叠SurfaceViews。 这仍然是这样吗? 任何人都可以分享经验呢?

Solutions Collecting From Web of "在Android中支持多个活动的重叠表面视图"

我自己发现了。 调用我想要在顶部的SurfaceView setZOrderOnTop(true)似乎解决了这个问题

我曾经写过一个应用程序,有重叠的线性布局。 当我用view.layout(l,t,r,b)重叠它们的时候,它工作的很好。 我不知道这是否也适用于SurfaceViews。 你如何重叠?

 surface.setZOrderOnTop(true); surface.setZOrderMediaOverlay(true); 

如果设置了两个Surfaceview,则会出现遮挡问题,如果您希望其中一个位于顶部,那么只能设置Setzorderontop(true),但这样做总是会在顶部,任何其他视图将被阻止,如果您设置Setzorderontop并设置Setzordermediaoverlay,则Setzorderontop将失败