Android: ¿Es posible tener dos superficies superpuestas?
Mi idea es tener dos SurfaceViews. Una superficie que contenga una imagen (digamos ImageSurgaceView) y la segunda superficie que se encuentran encima de la primera que contiene las anotaciones (diga AnnotationSurfaceView) como círculo, rectángulo, etc. Ahora tengo que mapear estas vistas de la superficie de modo que la altura, el ancho Son los mismos y además, tanto la vista de la superficie debe moverse en la resistencia, es decir, compartir los eventos de toque. Para ser exactos, cuando muevo la imagen encima de las anotaciones también debe moverse para arriba.
Ahora, no estoy seguro si esto es posible en android. ¿Puede alguien decir o compartir alguna información sobre esto. No tengo ninguna idea de implementación a esto y por lo tanto no tengo ningún código específico. Además, no pude encontrar nada parecido.
- Cómo hacer transparente la superficie
- Antialiasing en TextureView
- Escala de un SurfaceView fijo para rellenar verticalmente y mantener la relación de aspecto
- Get " conectar: ya conectado" error si dibujo un mapa de bits como el fondo de SurfaceView y luego reproducir vídeo
- Desplazamiento de Android SurfaceView
Gracias por ayudar.
- Android ANR SurfaceView
- Null Canvas en SurfaceView Thread, a pesar de detener Thread en surfaceDestroyed () - sólo en Android 4 / ICS
- PreviewCallback onPreviewFrame no cambia los datos
- SurfaceCreated no se llama
- Establecer el color de fondo de la vista de superficie
- Juego de Android con superficial, lienzo - Dibujable o mapa de bits
- Android Advertencia: CHECK surface infomation creating = false
- Vista superficial + glsurfaceview + framelayout
Sí, esto es posible. Puede agregar tanto SurfaceView
como hijos de FrameLayout
. También tendrá que llamar a setZOrderMediaOverlay en uno o ambos de SufaceView
s para especificar cómo se superponen.
Además, esto podría ser un algoritmo gráfico intensivo que está describiendo. Considere la posibilidad de agregar el atributo de la aplicación AndroidManifest.xml
android:hardwareAccelerated="true"
.
Por último, acaba de configurar un OnTouchListener
personalizado para manejar los eventos de arrastre. Utilice MotionEvent.getRawX()
y MotionEvent.getRawY()
para obtener el punto de contacto y utilícelo para manipular las telas.
- Botón uniformemente espaciado en Layout
- Errores de coincidencia de tar cuando agrega biblioteca en eclipse