Android View выравнивается снизу (программно) без XML
У меня возникла проблема с установкой выравнивания моего представления программно в нижней части экрана. В основном я просто хочу разместить свое объявление admob на дне экрана. Я не могу сделать это с XML, потому что это будет еще более неприятно. Сейчас я уже получил объявление и добавил его вручную в RelativeLayout
, но по умолчанию он появляется в верхней части экрана. Я попытался использовать команду гравитации, но не смог заставить ее работать.
Здесь фрагмент кода:
_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());
Может ли кто-нибудь помочь мне?
Ответы
Ответ 1
Ответ стрекозы сработал у меня.
Вот полный фрагмент кода для ссылки
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);
Ответ 2
RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
p.addRule(RelativeLayout.ALIGN_BOTTOM, tv.getId());
Ответ 3
Добавьте рекламу в RelativeLayout с LayoutParams следующим образом:
RelativeLayout.LayoutParams rparams = (LayoutParams) rl
.getLayoutParams();
rparams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
((ViewGroup) rl).addView(adView, rparams);
вместо
rl.addView(adView);
Удачи!:)
Ответ 4
ImageButton buttonAdvance = new ImageButton(this);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(160, 160);
params.leftMargin = 5;
params.bottomMargin = 4;
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
buttonAdvance.setLayoutParams(params);