我一直在寻找类似的问题,但他们更关注如何通过这个新的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做任何事情,仍然在底部显示广告,所以我怎样才能在屏幕的顶部显示它? 感谢
答案 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);