как показывать рекламные баннеры программно - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь реализовать баннерную рекламу, но она не работает с моим основным макетом - DrawView.Отображается либо mAdview, либо DrawView, но не вместе.Я хочу показать их вместе.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    size = getIntent().getIntExtra("SIZE", 3);
    setContentView(R.layout.activity_tile);
    drawView = new DrawView(this, size);
    setContentView(drawView);
    setTileSize();

    MobileAds.initialize(this, "ca-app-pub-3940256099942544/6300978111");
    mAdView = findViewById(R.id.adView);
    AdView adView = new AdView(this);
    adView.setAdSize(AdSize.BANNER);
    AdRequest adRequest = new AdRequest.Builder().build();
    mAdView.loadAd(adRequest);
    adView.setAdUnitId("ca-app-pub-3940256099942544/6300978111");

}

XML создан

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">

<view class="com.kilnake.patta.picpuzz.TileActivity$DrawView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@color/colorPrimary"/>

<com.google.android.gms.ads.AdView
    android:id="@+id/adView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    ads:adSize="BANNER"
    ads:adUnitId="ca-app-pub-3940256099942544/6300978111" />


</LinearLayout>

1 Ответ

0 голосов
/ 25 мая 2018

Одна из проблем, с которой вы здесь сталкиваетесь, заключается в том, как вы используете setContentView () .Эта функция определяет, какой макет отображать для этого действия.То, что вы делаете, это:

  1. setContentView(R.layout.activity_tile);: вы предлагаете отобразить макет, определенный в файле activity_tile.xml (что вы называете своим основным макетом).
  2. setContentView(drawView);:Скажите, чтобы изменить то, что отображать, прекратите отображать ваш основной макет и отобразите DrawView
  3. setContentView(layouut);: снова нажмите Cahnge, чтобы остановить отображение DrawView и отображение layouut (которое содержит только adView)

Вам нужно вызывать эту функцию только один раз.Определите весь макет в файле XML, добавив DrawView и Adview в этом файле.Тогда используйте только setContentView(R.layout.activity_tile);

...