0

我正在尝试实现横幅广告,但它弄乱了我的主要布局,即 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>
4

1 回答 1

0

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

  1. setContentView(R.layout.activity_tile);:您告诉在文件 activity_tile.xml 中显示布局定义(您称之为主布局)。
  2. setContentView(drawView);:告诉更改要显示的内容,停止显示主布局并显示 DrawView
  3. setContentView(layouut);: 再次停止显示 DrawView 并显示layouut(仅包含 adView)

您只需调用此函数一次。通过在此文件中添加 DrawView 和 Adview,在 xml 文件中定义您的整个布局。然后只用setContentView(R.layout.activity_tile);

于 2018-05-25T15:01:46.913 回答