2012-01-01 133 views
4

我在将AdMob显示在画布上时遇到问题。如何在画布上绘制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

我猜''你好世界'是测试?

您是否试过拨打adView.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));

当您在视图组上调用addView时,默认情况下,孩子继承父级的layoutparams,并且由于在您的情况下,父级layoutparams是wrap_content,因此它可能会缩小adview使其不可见。

另外,你不应该在你的onDraw中调用layout.measure,你应该在onMeasure方法中执行它。

+0

我试图Match_Parent和FILL_PARENT没有运气声明。如果我将布局的背景颜色更改为黑色,整个屏幕变黑,所以我知道有空间。广告也在日志猫中出现。 – richardnixonthethird 2012-01-01 20:57:29

0

如果您还没有解决这个已经:摆脱的Hello World的TextView或之前

adView.setVisibility(View.VISIBLE);  
layout.addView(adView);