2014-04-30 26 views
0

我在Google和stackoverflow上搜索过,我浏览了所有的问题和答案,似乎没有任何东西适用于我。该广告仍然显示在底部我的活动.. 有谁知道我做错了什么?不能让admobs广告在底部显示

public class MainActivity extends Activity { 
String[] myItems; 
RelativeLayout RelLay; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    // TODO Auto-generated method stub 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.menu); 

    RelLay = (RelativeLayout) findViewById (R.id.RelLay); 
    AdView ad = (AdView) findViewById(R.id.ad); 

    AdView adView = new AdView(this.getApplicationContext()); 

     adView = new AdView(this); 
     adView.setAdSize(AdSize.SMART_BANNER); 
     adView.setAdUnitId("ca-app-pub-5045823047142424/5834743995"); 
     RelLay.addView(adView, 0); 
     AdRequest adRequest = new AdRequest.Builder().build(); 
     adView.loadAd(adRequest); 


    populateListView(); 
    registerClickCallBack(); 

} 

我的xml:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:ads="http://schemas.android.com/apk/res-auto" 
android:id="@+id/RelLay" 
android:layout_width="fill_parent" 
android:layout_height="match_parent" > 
<ListView 
    android:id="@+id/listView" 
    android:layout_width="wrap_content" 
    android:layout_height="400dp" 
    android:layout_alignParentTop="true" > 
</ListView> 

<com.google.android.gms.ads.AdView 
    android:id="@+id/ad" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:layout_alignParentBottom="true" 
    ads:adSize="SMART_BANNER" 
    android:layout_below="@id/listView" 
    ads:adUnitId="ca-app-pub-5045823047142424/5834743995" 
    android:layout_weight="1"/> 
</RelativeLayout> 

,当它在活动的顶部显示了我得到这样一个错误:

04-30 16:17:57.787: E/eglCodecCommon(1468):

**** ERROR未知类型为0x0(glSizeof,72)

glUtilsParamSize:不明PARAM 0x00000b44

glUtilsParamSize:不明PARAM 0x00000bd0

**** ERROR未知类型为0x0(glSizeof,72)

glUtilsParamSize:不明PARAM 0x00000b44

glUtilsParamSize:不明PARAM 0x00000bd0

**** ERROR未知类型为0x0(glSizeof,72)

回答

0

的创建一个父垂直LinearLayout,把你的ListView与布局重量2和AdView重量为1。这将确保ListView会在顶部和调整其高度基于AdView。因此AdView将始终显示在底部。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
xmlns:ads="http://schemas.android.com/apk/res-auto" 
android:orientation="vertical"> 

<ListView 
    android:id="@+id/listView" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:background="@color/Red" 
    android:layout_weight="2"/> 

<com.google.android.gms.ads.AdView 
    android:id="@+id/welcomeAdView" 
    android:layout_width="match_parent" 
    android:layout_height="100dp" 
    ads:adSize="SMART_BANNER" 
    ads:adUnitId="" 
    android:layout_weight="1"/> 
</LinearLayout> 

此外,改变你的代码只加载广告,不要将AdView阿恩添加到布局

AdView ad = (AdView) findViewById(R.id.ad); 
    AdRequest adRequest = new AdRequest.Builder().build(); 
    ad.loadAd(adRequest); 
+0

当我这样做,广告仍然显示在顶部:/ – Jonas

+0

不,它应该工作,确保android:layout_height =“wrap_content” – Libin

+0

也尝试设置一些高度adview,如果需要 – Libin

0

使用简单的XML旗帜不需要的Java

<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" > 

     <com.google.ads.AdView 
      android:id="@+id/ad" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      ads:adSize="BANNER" 
      ads:adUnitId="your publisher id here" 
      ads:loadAdOnCreate="true" /> 


    </RelativeLayout> 
+0

如果我这样做,广告根本不会显示:/ – Jonas

+0

这是行不通的。他需要将横幅放在底部,并在顶部放置其他视图。 – Libin

0

你的代码是好的,但你需要的ListView的机器人:上方=” @ + id/ad“

+0

当我这样做时,我的应用崩溃了 – Jonas