2012-01-01 2 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, это может привести к сокращению рекламного объявления.

Кроме того, вы не должны вызывать layout.measure в своем onDraw, вы должны, вероятно, сделать это в методе onMeasure.

+0

Я попытался Match_Parent и Fill_Parent не повезло. Если я меняю цвет фона макета на черный, весь экран становится черным, поэтому я знаю, что есть место. Объявления также отображаются в журнале. – richardnixonthethird

0

Если вы еще не решили эту проблему уже: избавиться от Hello World TextView или объявить его перед

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

 Смежные вопросы

  • Нет связанных вопросов^_^