2014-01-12 157 views
1

我想在我的應用中展示廣告。 在風景模式下它可以正常工作,但是在正常模式下它沒有。在logcat的 消息是:"Not enough space to show ad!"Android廣告沒有足夠空間

這是我的主要的xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:id="@+id/mainLayout" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_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" 
    android:background="#000000" 
    android:animateLayoutChanges="true" 
    tools:context=".MainActivity" 
    android:layout_gravity="center_vertical|center_horizontal" 
    android:orientation="vertical" 
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"> 


    <DigitalClock 
     android:id="@+id/digitalClock1" 
     android:layout_width="wrap_content" 
     android:textColor="#FFFFFF" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal"/> 

    <TextView 
     android:id="@+id/countdown" 
     android:textColor="#FFFFFF" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal"/> 

    <LinearLayout 
     android:id="@+id/timeButtons" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:orientation="horizontal" 
     android:layout_gravity="center_horizontal"> 

      <de.sms.android.babyschlafvibrator.free.CountdownPicker 
       android:id="@+id/hour_picker" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" > 
      </de.sms.android.babyschlafvibrator.free.CountdownPicker> 

      <de.sms.android.babyschlafvibrator.free.CountdownPicker 
       android:id="@+id/minute_picker" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" > 
      </de.sms.android.babyschlafvibrator.free.CountdownPicker> 

      <de.sms.android.babyschlafvibrator.free.CountdownPicker 
       android:id="@+id/second_picker" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" > 
      </de.sms.android.babyschlafvibrator.free.CountdownPicker> 

    </LinearLayout> 

    <LinearLayout 
     android:id="@+id/bottomButtons" 
     android:layout_height="wrap_content" 
     android:layout_width="wrap_content" 
     android:orientation="horizontal" 
     android:layout_gravity="center_horizontal"> 

     <Button 
      android:id="@+id/startButton" 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:textColor="#FFFFFF" 
      android:text="@string/start"/> 

     <Button 
      android:id="@+id/stopButton" 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:textColor="#FFFFFF" 
      android:text="@string/stop"/> 

     <Button 
      android:id="@+id/exitButton" 
      android:layout_height="match_parent" 
      android:layout_width="match_parent" 
      android:textColor="#FFFFFF" 
      android:text="@string/exit"/> 

    </LinearLayout> 

     <LinearLayout 
     android:id="@+id/addLayout" 
     android:layout_height="fill_parent" 
     android:layout_width="wrap_content" 
     android:orientation="horizontal" 
     android:layout_gravity="center_horizontal" /> 

</LinearLayout> 

我的代碼是:

adView = new AdView(this); 
    adView.setAdUnitId("ca-app-pub-xxxxxxxxxxxxxxxxx/xxxx"); 
    adView.setAdSize(AdSize.BANNER); 
    LinearLayout layout = (LinearLayout) findViewById(R.id.addLayout); 
    layout.addView(adView); 
    AdRequest adRequest = new AdRequest.Builder().build(); 
    adView.loadAd(adRequest); 

但代碼是沒有問題的 - 在橫向模式下它的工作原理..

+1

到底在哪廣告的代碼? – gian1200

+0

顯然沒有足夠的空間。在所有LinearLayout上設置不同的背景顏色,以便確定哪些視圖佔據了什麼空間。 – Blundell

+0

@ gian1200:我剛加了我的代碼 – streeter

回答

1

嘗試使用AdSize.SmartBanner,它會自動爲當前屏幕選擇最佳尺寸的廣告。

+0

我已經嘗試過了,但得到了:「沒有足夠的空間來顯示廣告,需要320x50,但只有288x109」 – streeter

+0

你正在使用什麼設備?這是一個令人難以置信的小。你有沒有嘗試改變addview android:layout_width =「wrap_content」爲「fill_parent」? –

+0

with fill_parent我得到「沒有足夠的空間來顯示廣告,需要480x32,但只有448x69」 - 我使用的Xperia Mini Pro(3「,真的很小)。但在Xperia Sola 3,7」,它也沒有工作:( – streeter

-1

只是刪除

android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
從線性佈局

,你的問題就解決了

相關問題