Android Admob 4.3.1, как сделать так, чтобы показ adView отображался в верхней части экрана? - PullRequest
0 голосов
/ 27 марта 2012

Я смотрю на похожие вопросы, но они больше о том, как показывать объявления в этой новой версии Admob, я показываю объявления, так что это не моя проблема, моя проблема в том, что реклама показывается вв нижней части экрана, поэтому, когда приложение расширяет содержимое на экране, показ рекламы исчезает, поскольку он распространяется на весь контент.мое решение состоит в том, чтобы разместить рекламу в верхней части экрана, и таким образом, независимо от того, сколько контента на экране, реклама будет видна!Я смог сделать это раньше, когда объявление было встроено в мой xml, но, следуя руководству по admob, вы больше не помещаете его в xml.Итак, как я могу разместить объявление поверх mainLayout?вот код, который я пробовал.

    LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout);
    adView = new AdView(this, AdSize.BANNER, "my code");
    layout.addView(adView);
    AdRequest r = new AdRequest();
    adView.loadAd(r);
    // this is what I try to get it on top of the screen, but is not working
    adView.setGravity(Gravity.TOP | Gravity.CENTER_HORIZONTAL);
    adView.bringToFront();

это все, так как я ничего не сделал с XML, все еще показывает объявление в нижней части, так как я могу получить его сверхучасть экрана?Спасибо

Ответы [ 3 ]

3 голосов
/ 27 марта 2012

Ваш код устанавливает гравитацию AdView, но AdView находится в пределах LinearLayout.Поместите LinearLayout там, где вы хотите, чтобы он появился.

1 голос
/ 27 марта 2012

Вот документация о том, как добавить свой баннер в XML в 4.3.1.

Если вы все еще хотите сделать это в коде, попробуйте сделать макет верхнего уровня RelativeLayout и используйте этот код:

adView = new AdView(this, AdSize.BANNER, "my code");
AdRequest r = new AdRequest();
adView.loadAd(r);
RelativeLayout layout = (LinearLayout)findViewById(R.id.mainLayout);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
    RelativeLayout.LayoutParams.WRAP_CONTENT,
    RelativeLayout.LayoutParams.FILL_PARENT);
params.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM);
layout.addView(adView, params);
0 голосов
/ 12 января 2014

Когда вы добавляете представление, добавляйте его с индексом.Это работает для меня:

layout.addView(adView, 0);
...