2014-11-16 49 views
1

由於我在橫幅廣告應用程序中遷移到Google play服務,因此即使未加載廣告,也會始終佔用空白區域。AdMob - 未加載admob橫幅時出現空白

我不希望橫幅未加載時佔用空格。

我的XML代碼:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    xmlns:ads="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/background" 
    android:orientation="vertical" 
    tools:context=".MainActivity" > 

    <GridView 
     android:id="@+id/icon_view" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:numColumns="4" /> 

    <com.google.android.gms.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     ads:adSize="SMART_BANNER" 
     ads:adUnitId="ca-app-pub-ABC/ABC" /> 

</RelativeLayout> 

回答

1

隱藏你的加入GONE的知名度,並使其一旦其加載可見。

<com.google.android.gms.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     ads:adSize="SMART_BANNER" 
     ads:adUnitId="ca-app-pub-ABC/ABC" 
     android:visibility="gone" /> 

而當你想使其可見,那就是,只要加載廣告前:

adviewName.setVisibility(View.VISIBLE); 
4

隱藏你的AdView到android:visibility="gone"的能見度

<com.google.android.gms.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     ads:adSize="SMART_BANNER" 
     ads:adUnitId="ca-app-pub-ABC/ABC" 
     android:visibility="gone" /> 

和在setAdListener中處理adview知名度爲

adView.setAdListener(new AdListener() { 

    @Override 
    public void onAdClosed() { 
    } 

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

    @Override 
    public void onAdLeftApplication() { 
    } 

    @Override 
    public void onAdOpened() { 
    } 

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