GLSurfaceView,SurfaceView之上往往有添加播放、暂停、进度等UI,有时候会出现UI不显示(有时候UI要求可以拖动到最左侧或者最右侧,再拖动过程中必然会出现UI遮挡问题),但是点击事件存在,网上很多解决方案是:surfaceView.setZOrderOnTop(true),或者同时setZOrderMediaOverlay(true),或者设置surfaceView背景透明getHolder().setFormat(PixelFormat.TRANSLUCENT);但是发现还是不能解决问题。那么请看下面:
首先个人觉得setZOrderOnTop是把surfaceview放在最顶端,这样不符合要求,因为UI始终是在最顶端的
所以:考虑往UI层和SurfaceView层添加一层,并且把添加的那一层背景设置为透明色,则可完美解决问题.或者直接用一个layout包裹住你的所有UI,
然后给这个layout设置背景色为透明.