我遇到问题,让AdMob显示在我的画布上。
我的代码如下所示。
layout = new LinearLayout(getContext());
adView = new AdView((Activity) getContext(), AdSize.BANNER, "############");
layout.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
adView.setVisibility(View.VISIBLE);
layout.addView(adView);
TextView textView = new TextView(context);
textView.setVisibility(View.VISIBLE);
textView.setText("Hello world");
layout.addView(textView);
AdRequest adRequest = new AdRequest();
adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
adRequest.addTestDevice("TEST_DEVICE_ID");
adView.loadAd(adRequest);
在我的onDraw方法中,我有。
canvas.drawColor(Color.GRAY);
layout.measure(getWidth(), getHeight());
layout.layout(0, 0, getWidth(), getHeight());
layout.draw(canvas);
“Hello World”显示但不显示广告。
答案 0 :(得分:0)
我猜测“你好世界”是为了测试?
您是否尝试过调用adView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
?
当你在一个视图组上调用addView时,默认情况下,子进程会继承父进程的layoutparams,因为在你的情况下,父layoutparams是wrap_content,那么它可能会将adview缩小为不可见。
另外,你不应该在你的onDraw中调用layout.measure,你应该在onMeasure方法中这样做。
答案 1 :(得分:0)
如果你还没有解决这个问题:摆脱Hello World TextView或在
之前声明它adView.setVisibility(View.VISIBLE);
layout.addView(adView);