android - Layout on top of GlSurfaceView disappears and appears on its own -
i have glsurfaceview rendering image texture. have attached gesturedetector glsurfaceview. when user taps screen want display linear layout on top of glsurfaceview.
currently when user taps glsurfaceview linearlayout displays disappears on own in 2-3 seconds. every , flash on screen split second. without interactions user.
any insights happening? here have tried , useful info.
- my glsurfaceview set render_when_dirty mode , have ensured after user taps there no calls ondrawframe method. know logging statement in method.
- i have verified setvisibility(boolean) method of linearlayout not being maliciously called.
here code of how glsurfaceview being created.
glsurfaceview = new glsurfaceview(context) { public void surfacedestroyed(surfaceholder holder) { super.surfacedestroyed(holder); logger.w("surface destroyed"); if (sprite != null) { // readerbitmap =sprite.bitmap; time = sprite.time; } //glsurfaceview.setbackgroundcolor(color.black); if (myhandler != null) { myhandler.sendemptymessage(9); } } }; gesturedetector = new gesturedetector(context, new mygesturedetector()); glsurfaceview.setontouchlistener(touchlistener); // set our renderer main renderer sprite = new glrenderer(context,global.pictures.get(global.currentpictureindex),myhandler, temptime); glsurfaceview.setrenderer(sprite); glsurfaceview.setrendermode(glsurfaceview.rendermode_when_dirty); textview tv = (textview)findviewbyid(r.id.customtextview1); tv.setvisibility(view.gone); //add view mainlayout.removeview(glsurfaceview); mainlayout.addview(glsurfaceview, 0); p.s. on android 4.0
when set render mode rendermode_when_dirty need request or invalidate glsurfaceview tell redraw itself. it's done thread contains loop requesting render. doing that?
comment out setrendermode line , see if desired results since default continuously draws itself.
hope helps.
Comments
Post a Comment