How do I write code which layouts UI elements (Buttons, etc) over camera preview on Android ?
Put the SurfaceView
in a container that allows for Z-axis layering, such as RelativeLayout
or FrameLayout
. Put the things to appear on top of the SurfaceView
later in the XML -- later children of a parent will draw over top of earlier children in the parent.
Here is a project using a SurfaceView
for video playback that demonstrates the technique. The same concepts should hold for a SurfaceView
for camera preview.
Bear in mind that extra work needs to be done by Android to blend your widgets with the preview, so your preview frame rate may drop.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With