logcat只会出现一个错误,没有足够的空间来显示广告。应用程序中的所有内容都可以正常工作,除了启动屏幕上的admob广告。这是XML
<?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);
}
});
}
}
答案 0 :(得分: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>
修改强> 根据{{3}}:
,您需要在活动中使用代码来加载您的应用AdView adView = (AdView)this.findViewById(R.id.adView);
adView.loadAd(new AdRequest());
编辑2:
与往常一样,您必须将MY_AD_UNIT_ID替换为您的AdMob发布商ID。 您还必须在ads:testDevices属性中添加自己的设备ID 在您的设备上投放测试广告。
我只是假设你实际上正在改变这些值......是的,你必须实际为这些值设置值。
答案 1 :(得分:-1)
只需在 res-&gt; values-&gt; dimens.xml
中将边距设置为 0dp<dimen name="activity_horizontal_margin">0dp</dimen>
<dimen name="activity_vertical_margin">0dp</dimen>