Android Admob 4.3.1如何在屏幕顶部显示adView?

时间:2012-03-26 20:31:37

标签: android eclipse admob adview

我一直在寻找类似的问题,但他们更关注如何通过这个新的Admob版本展示广告,我正在展示广告,这不是我的问题,我的问题是广告显示在屏幕的底部,因此当应用扩展屏幕上的内容时,adview会消失,因为它会在所有内容下进行。我的解决方案是将广告视图放在屏幕顶部,无论屏幕上有多少内容,都可以看到广告视图!我将adview嵌入到我的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 个答案:

答案 0 :(得分:3)

您的代码正在设置AdView的重力,但AdView位于LinearLayout内。将LinearLayout放在您希望它出现的位置。

答案 1 :(得分:1)

以下是有关如何在4.3.1中以XML格式添加横幅的documentation

如果您仍想在代码中执行此操作,请尝试将顶级布局设为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);

答案 2 :(得分:0)

添加视图时,请使用索引添加视图。这对我有用:

layout.addView(adView, 0);