如何以编程方式显示横幅广告

时间:2018-05-25 14:41:07

标签: android smartbanner

我正在尝试实施横幅广告,但它正在搞乱我的主要布局,即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 :(得分:0)

您在这里面临的一个问题是如何使用setContentView()。此函数定义要为此活动显示的布局。你做的是:

  1. setContentView(R.layout.activity_tile);:您告诉您在文件activity_tile.xml中显示布局定义(您称之为主要布局)。
  2. setContentView(drawView);:告诉要更改要显示的内容,停止显示主要布局并显示DrawView
  3. setContentView(layouut);:再次停止显示DrawView并显示layouut(仅包含adView)
  4. 您只需要调用此功能一次。通过在此文件中添加DrawView和Adview,在xml文件中定义整个布局。然后只使用setContentView(R.layout.activity_tile);

相关问题