0

我一直在研究类似的问题,但更多的是关于如何让广告显示在这个新的 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 做任何事情,仍然在底部显示 adview,那么我怎样才能将它放在屏幕的顶部?谢谢

4

3 回答 3

3

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

于 2012-03-26T20:40:16.423 回答
1

这是有关如何在 4.3.1 中以 XML 格式添加横幅的文档。

如果您仍想在代码中执行此操作,请尝试将您的顶级布局设置为 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);
于 2012-03-26T20:44:50.727 回答
0

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

layout.addView(adView, 0);
于 2014-01-12T07:25:13.680 回答