为什么我看不到广告?

时间:2014-03-06 16:13:36

标签: android admob

我尝试在自定义视图顶部显示广告,但不知怎的,我看不到它。

layout = new LinearLayout(this);

    layout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
    layout.setOrientation(LinearLayout.HORIZONTAL);

    view = new GameView(this);
    adView = new AdView(this);
    adView.setAdUnitId("id");
    adView.setAdSize(AdSize.BANNER);
    layout.addView(view);
    layout.addView(adView, 640, 100);
    adView.loadAd(new AdRequest.Builder().addTestDevice("id").build());

    setContentView(layout);

3 个答案:

答案 0 :(得分:0)

我认为这与您将View添加到LinearLayout的方式有关。 adView似乎没问题,但我的赌注是GameView类的某些内容使其无法显示。

我建议在布局文件中定义包含AdView的{​​{1}},而不是以编程方式声明新的LinearLayout,然后像你正在做的那样添加LinearLayout马上。下面的代码是我使用的代码,它起作用,这就是为什么我认为这是一个布局问题。

View

答案 1 :(得分:0)

我认为问题是LinearLayout。 如果您想在GameView上显示广告,您应该使用FrameLayout,就像下面的

一样
    FrameLayout layout = new FrameLayout(this);
    layout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

    view = new GameView(this);
    view.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

    AdView adView = new AdView(this);
    LayoutParams params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    params.gravity = Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL;
    adView.setLayoutParams(params);

    adView.setAdUnitId("id");
    adView.setAdSize(AdSize.BANNER);
    layout.addView(view);
    layout.addView(adView, 640, 100);
    adView.loadAd(new AdRequest.Builder().addTestDevice("id").build());

答案 2 :(得分:0)

我认为问题在于您将“父级”布局的方向设置为“水平”。尝试将其设置为垂直。

layout.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
layout.setOrientation(LinearLayout.VERTICAL);

并确保您的自定义视图GameView没有布局高度为MATCH_PARENT,因为首先添加它,如果它的高度设置为填充父级,则下面的视图将不可见。