2012-01-01 136 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);