我尝试在自定义视图顶部显示广告,但不知怎的,我看不到它。
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);
答案 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,因为首先添加它,如果它的高度设置为填充父级,则下面的视图将不可见。