2013-09-28 67 views
2

logcat只会给出一个错误,没有足够的空间显示广告。除了启动屏幕上的admob广告外,应用中的所有内容都可以正常工作。下面是XML没有足够的空间与admob显示广告

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:orientation="vertical" > 

<Button 
    android:id="@+id/close" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="10.0dip" 
    android:layout_marginRight="10.0dip" 
    android:text="Exit" 
    android:textSize="20.0dip" /> 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 

    <com.google.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     ads:adSize="SMART_BANNER" 
     ads:adUnitId="XXXXXX" 
     ads:loadAdOnCreate="true" 
     ads:testDevices="TEST_EMULATOR" > 
    </com.google.ads.AdView> 
</RelativeLayout> 

</LinearLayout> 

所有我想在屏幕上是一整页的广告和一个按钮按下时,将关闭添加和推出的主要活动。该按钮工作正常,但当该XML加载它不显示广告,并打开的窗口比屏幕小得多。

这是上面的布局设置的.Java活动。

package com.androidsleepmachine.gamble; 

import com.google.ads.AdRequest; 
import com.google.ads.AdView; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 

public class Splash extends Activity { 

Button close; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.splash); 
    close = (Button) findViewById(R.id.close); 
    AdView adView = (AdView)this.findViewById(R.id.adView); 
    adView.loadAd(new AdRequest()); 
    close.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
      Intent i = new Intent("android.intent.action.Home"); 
      startActivity(i); 


     } 
    }); 
} 

} 
+1

你为什么把'AdView'在'RelativeLayout'? –

回答

1

您已将layout_height设置为父级的wrap_content。用这个代替:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical" > 

<Button 
    android:id="@+id/close" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="10.0dip" 
    android:layout_marginRight="10.0dip" 
    android:text="Exit" 
    android:textSize="20.0dip" /> 

<RelativeLayout 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 

    <com.google.ads.AdView 
     android:id="@+id/adView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     ads:adSize="SMART_BANNER" 
     ads:adUnitId="XXXXXX" 
     ads:loadAdOnCreate="true" 
     ads:testDevices="TEST_EMULATOR" > 
    </com.google.ads.AdView> 
</RelativeLayout> 

</LinearLayout> 

编辑: 您需要使用的代码在您的活动加载您的应用程序,根据https://developers.google.com/mobile-ads-sdk/docs/admob/fundamentals#android

AdView adView = (AdView)this.findViewById(R.id.adView); 
    adView.loadAd(new AdRequest()); 

编辑2:

与往常一样,您必须用您的AdMob发布商ID替换MY_AD_UNIT_ID。 您还必须在广告中添加您自己的设备ID:testDevices属性 以在您的设备上获取测试广告。

我只是假设你实际上正在改变这些值...是的,你必须真正把这些值。

+0

它仍然没有运行。它打开一个小盒子和盒子里的按钮,但没有别的。 – user2727048

+0

您加载了广告吗?除了xml部分外,您还需要在活动中执行一些代码。该Admob开发指南有一个教程 –

+0

我被告知,并看到了几个例子,是广告只是在XML中创建的,我没有任何代码在活动发起广告 – user2727048

-1

只需设置页边距0dp水库 - >值 - > dimens.xml

<dimen name="activity_horizontal_margin">0dp</dimen> 
<dimen name="activity_vertical_margin">0dp</dimen> 
相关问题