android - AdMob Banners and GLSurfaceview (programmatically) -


finally, have banner ad @ top of glsurfaceview. however, appears black background takes whole width of screen , covers top of game area (i should point out play area moved downwards little bottom missing).

enter image description here

what need move banner bottom of screen and, keep central , remove black background looks this:

enter image description here

i tried use xml getting lot of errors switched doing in java (and managed far) - quality information on how glsurfaceview lacking imho i'm hoping can tell me i'm going wrong.

code

here oncreate() method:

    @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);          // create ad.         adview = new adview(this);         adview.setadsize(adsize.banner);         adview.setadunitid(ad_unit_id);          // add adview view hierarchy. view have no size         // until ad loaded.         linearlayout layout = new linearlayout(this);         layout.setorientation(linearlayout.vertical);          // create ad request.         // test ads on physical device.         adrequest adrequest = new adrequest.builder()           .addtestdevice(testdeviceid)           .build();          // start loading ad in background.         adview.loadad(adrequest);          //request full screen         requestwindowfeature(window.feature_no_title);         getwindow().setflags(windowmanager.layoutparams.flag_fullscreen,          windowmanager.layoutparams.flag_fullscreen);          //create displaymetrics object pixel width , height         metrics = new displaymetrics();         getwindowmanager().getdefaultdisplay().getmetrics(metrics);         width = metrics.widthpixels;         height = metrics.heightpixels;          //create , set gl view (opengl view)         myview = new myglsurfaceview(mainactivity.this);         layout.addview(adview);         layout.addview(myview);           //create copy of bundle         if (savedinstancestate != null){             newbundle = new bundle(savedinstancestate);                  }          //set main renderer                      setcontentview(layout);  } 

when banner changes, appears 'flicker', can deal in separate question.

use relativelayout or framelayout parent layout, define layout parameters adview positioned @ bottom center of screen this. below solution:

 @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);          // create ad.         adview = new adview(this);         adview.setadsize(adsize.banner);         adview.setadunitid(ad_unit_id);         adview.setbackgroundcolor(color.transparent);          // add adview view hierarchy. view have no size         // until ad loaded.         relativelayout layout = new relativelayout(this);         layout.setlayoutparams(new layoutparams(layoutparams.match_parent,    layoutparams.match_parent));         // create ad request.         // test ads on physical device.         adrequest adrequest = new adrequest.builder()           .addtestdevice(testdeviceid)           .build();          // start loading ad in background.         adview.loadad(adrequest);          //request full screen         requestwindowfeature(window.feature_no_title);         getwindow().setflags(windowmanager.layoutparams.flag_fullscreen,          windowmanager.layoutparams.flag_fullscreen);          //create displaymetrics object pixel width , height         metrics = new displaymetrics();         getwindowmanager().getdefaultdisplay().getmetrics(metrics);         width = metrics.widthpixels;         height = metrics.heightpixels;          //create , set gl view (opengl view)         myview = new myglsurfaceview(mainactivity.this);      relativelayout.layoutparams adparams =                  new relativelayout.layoutparams(relativelayout.layoutparams.wrap_content,                          relativelayout.layoutparams.wrap_content);             adparams.addrule(relativelayout.align_parent_bottom);             adparams.addrule(relativelayout.center_horizontal);          layout.addview(myview);         layout.addview(adview, adparams);           //create copy of bundle         if (savedinstancestate != null){             newbundle = new bundle(savedinstancestate);                  }          //set main renderer                      setcontentview(layout);  } 

Comments

Popular posts from this blog

javascript - jquery or ashx not working -

opencv - DataType<cv::detail::deriv_type>::depth what is it used for -

python 3.x - Mapping specific letters onto a list of words -