0

我想要实现的是隐藏我的广告视图,如果它由于互联网或服务器没有广告而没有加载。

MainActivity.java

NativeExpressAdView nativeView =
            (NativeExpressAdView) findViewById(R.id.natvie_ad);
    nativeView.loadAd(new AdRequest.Builder().addTestDevice("testDeviceID").build());

布局

<com.google.android.gms.ads.NativeExpressAdView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/moreView"
        android:id="@+id/natvie_ad"
        ads:adSize="300x80"
        ads:adUnitId="adUnitID"
        android:layout_centerHorizontal="true"

        />
4

1 回答 1

3

首先在你的 xml 中设置可见性消失

<com.google.android.gms.ads.NativeExpressAdView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_below="@+id/moreView"
    android:id="@+id/natvie_ad"
    ads:adSize="300x80"
    ads:adUnitId="adUnitID"
    android:layout_centerHorizontal="true"
    android:visibility="gone"
    />

然后在你的java代码中设置一个像这样的AdListener

NativeExpressAdView nativeView =
        (NativeExpressAdView) findViewById(R.id.natvie_ad);
nativeView.loadAd(new AdRequest.Builder().addTestDevice("testDeviceID").build());

nativeView.setAdListener(new AdListener() {

        @Override
        public void onAdLoaded() {
            adView.setVisibility(View.VISIBLE);
        }

        @Override
        public void onAdFailedToLoad(int error) {
            adView.setVisibility(View.GONE);
        }

    });

我希望有所帮助:)

于 2016-10-25T21:25:38.893 回答