2014-01-12 110 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" 
从线性布局

,你的问题就解决了

相关问题