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);