androidglsurfaceviewandroid-gpuimageview

How to put an image view over gpu image view while setZOrderOnTop is on?


I'm using gpu image view. I want to set an image with transparency something like mask in the gpu image view and then I want to draw an image view over the gpu image view. My xml looks like:

<gpuimageView></gpuImageView>
<imageview></imageview>

Because I want transparency to put image like mask on the gpu image view, I'm turning on the flag

glSurfaceview.setZOrderOnTop(true)

Otherwise, the transparent pixels are drawn as black pixels. But for turning on the flag, gpu image view always lies on top of other view. I've tried

setZOrderMediaOverlay(true)

but it doesn't solve the issue of black pixels. Can someone help me to achieve this, please?


Solution

  • I solved my problem. I'm using TextureView instead of Surface view which is much easier to manipulate. TextureView can be used from api 14. I followed this answer to solve it. Thanks!