2011-10-10 17 views
9

Actualmente estoy trabajando en una aplicación para Android que necesita varias SurfaceView superpuestas en una pantalla.Compatibilidad con varias vistas superpuestas activas superpuestas en Android

Para ser precisos, tengo dos SurfaceViews superpuestos activos, uno conectado a la cámara y el otro conectado a MediaPlayer. Funciona principalmente pero no es estable. A veces, uno de los SurfaceViews no aparece.

Vi un hilo de 2009 (http://groups.google.com/group/android-developers/browse_thread/thread/08e7df2e96a7973d) que dice que SurfaceViews superpuestos no son compatibles con Android. ¿Sigue siendo así? ¿Alguien puede compartir experiencia en esto?

Respuesta

10

Lo encontré yo mismo. Llamar setZOrderOnTop (verdadero) en el SurfaceView quiero tener en la parte superior parece resolver el problema

+0

¡Lo hizo por mí también! Genial, genial, genial, excelente, perfecto! :-D –

+0

Estaba a punto de perder la esperanza .. Eres un héroe – drewi

0

Escribí una aplicación una vez, con diseños lineales superpuestos. Funcionó bien cuando los superpuse con view.layout(l,t,r,b). No estoy seguro si eso también funciona con SurfaceViews. ¿Cómo los superpones?

+0

Gracias por el rápido respuesta. Creo que Surfaceview es un poco diferente de otras vistas regulares. Yo uso framelayout para superponerlos. <> –

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

Si dos de SurfaceView está ajustada, habrá un problema de oclusión, si quieres uno de ellos para estar en el arriba, luego solo establezca Setzorderontop (verdadero), pero al hacerlo, siempre estará en la parte superior, y cualquier otra vista se bloqueará, si establece Setzorderontop y establece Setzordermediaoverlay, ese Setzorderontop fallará

Cuestiones relacionadas