I got a problem with setting aligning my view programatically to the bottom of the screen. Basically I just want to place my admob advert at the screen bottom. I can't do it with XML because it would be even more troublesome. Right now I already got the advert working, and added it manually to the RelativeLayout
, but by default it appears at the top of the screen. I tried to use the gravity command, but couldn't get it working.
Here's the code snippet:
_glSurfaceView = new CCGLSurfaceView(this);
adView = new AdView(this, AdSize.BANNER, "a14e04559caea39");
adView.loadAd(new AdRequest());
adView.setGravity(Gravity.BOTTOM);
RelativeLayout rl = new RelativeLayout(this);
rl.addView(_glSurfaceView);
rl.addView(adView);
setContentView(rl);
adView.loadAd(new AdRequest());
Can anyone help me out?
dragonfly's answer worked for me. Here is the complete code snippet for the reference
adView = new AdView(this, AdSize.BANNER, "xxxxxxxxxxxxxxx");
panel = new MySurfaceView(this);
AdRequest adRequest = new AdRequest();
adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
RelativeLayout rl = new RelativeLayout(this);
RelativeLayout.LayoutParams lay = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
lay.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
rl.addView(panel);
rl.addView(adView, lay);
setContentView(rl);
adView.loadAd(adRequest);
RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
p.addRule(RelativeLayout.ALIGN_BOTTOM, tv.getId());
Add the advert to the RelativeLayout with LayoutParams as follows:
RelativeLayout.LayoutParams rparams = (LayoutParams) rl
.getLayoutParams();
rparams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
((ViewGroup) rl).addView(adView, rparams);
instead of just
rl.addView(adView);
Good luck! :)
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