2014-02-18 44 views
11

我正在嘗試在我的活動中顯示AdMob廣告,但它總是給出「沒有足夠空間展示廣告」的錯誤。沒有足夠的展示廣告空間(AdMob)

我的XML文件是:

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".MainActivity" > 

    <com.google.ads.AdView 
     android:id="@+id/adMobadView" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     ads:adSize="BANNER" 
     ads:adUnitId="@string/admobid" 
     android:layout_alignParentBottom="true" 
     android:gravity="bottom|center_horizontal" 
     ads:loadAdOnCreate="true" /> 
</RelativeLayout> 

我的Java文件:

AdView ad=(AdView)findViewById(R.id.adMobadView); 

    AdRequest re = new AdRequest(); 
    re.setTesting(true); 
    re.setGender(AdRequest.Gender.FEMALE); 
    ad.loadAd(re); 

LogCat

02-18 14:16:17.869: W/webcore(813): Can't get the viewWidth after the first layout 
    02-18 14:16:17.979: I/Ads(813): onReceiveAd() 
    02-18 14:16:17.979: W/Ads(813): Not enough space to show ad! Wants: <320, 50>, Has: <288, 430> 
+0

嘗試設置寬度match_parent和高度WRAP_CONTENT在您的「com.google.ads.AdView」廣告視圖。請檢查! – sai

+0

您是否在清單文件中使用對話主題進行活動? –

+0

只需將您的AdView放入線性佈局即可。我舉一個例子下面..你可以試試 –

回答

28

你的RelativeLayout的左右填充被消耗空間。

變化的RelativeLayout配置到:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
... 
android:paddingLeft="0dp" 
android:paddingRight="0dp" 
... 
> 

您可能還需要你的AdView配置更改爲:

<com.google.ads.AdView 
     android:id="@+id/adMobadView" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     ... 
     /> 

,你真的不希望你的AdView消耗整個屏幕。

+0

Thanx它節省了我的時間。 –

+0

爲我工作..謝謝男人 –

+0

好吧,我從這裏找到解決方案 –

0

檢查屏幕的尺寸和填充和看它是否真實的適合。

另外,儘量AdView的改成這樣:你的AdView需要

<com.google.ads.AdView 
     android:id="@+id/adMobadView" 
     android:layout_width="320dp" 
     android:layout_height="50dp" 
     ads:adSize="BANNER" 
     ads:adUnitId="@string/admobid" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     ads:loadAdOnCreate="true" /> 
-1

只需設置邊距0dp在水庫>值 - > dimens.xml

<dimen name="activity_horizontal_margin">0dp</dimen> 
<dimen name="activity_vertical_margin">0dp</dimen> 
+0

斑點先生!在我的情況下,這也是錯誤。它不喜歡利潤這塊廢話! – Radu

0
to show ads inside relative layout you can follow this design 

<RelativeLayout 
     android:id="@+id/relativeLayoutpopular" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_above="@+id/bottomBar" 
     android:layout_below="@+id/relativeLayoutadd" 
     android:layout_marginTop="5dp" 
     > 
      <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical" 
     android:paddingTop="3dp"> 
     <com.google.ads.AdView 
      xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
      android:id="@+id/adView" 
      android:layout_width="fill_parent" 
      android:layout_weight="0.9" 
      android:layout_height="wrap_content" 
      ads:adSize="SMART_BANNER" 
      android:background="#2d2f2f" 
      ads:adUnitId="admobId" /> 
     </LinearLayout> 
    </RelativeLayout> 
0

我有同樣的問題NativeExpressAdView。如果您向佈局添加填充或邊距,我認爲,修正廣告的尺寸寬度並不是一個好主意。我sugger在做編程

  1. 第一步:獲取屏幕的大小DP witdh

    DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics(); //float dpHeight = displayMetrics.heightPixels/displayMetrics.density; dpWidth = displayMetrics.widthPixels/displayMetrics.density;

2.第二步:

mAdView.setAdSize(new AdSize((int) dpWidth, 150));

相關問題