2012-04-13 84 views
4

我试图将gogole Adview与列表的底部和中间对齐,直到现在我能够强制Adview进入列表的底部而不会干扰名单,但它不在中心。Android如何将AdView对齐以线性布局为中心

代码如下粘贴,对不起cudn't附上截图

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
    android:id="@+id/topLayout" 
    android:layout_width="wrap_content" 
    android:layout_height="fill_parent" > 

    <LinearLayout 
     android:id="@+id/linearlayoutlistview" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_above="@+id/ad_holder" 
     android:orientation="vertical" > 

     <ListView 
      android:id="@android:id/list" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="2dip" 
      android:drawablePadding="4dip" 
      android:paddingTop="2dip" 
      android:textAppearance="?android:attr/textAppearanceSmall" 
      android:textStyle="bold" 
      android:typeface="serif" > 
     </ListView> 
    </LinearLayout> 

    <!-- Ad Placeholder --> 

    <LinearLayout 
     android:id="@+id/ad_holder" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:gravity="bottom" > 

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

    </LinearLayout> 

</RelativeLayout> 

回答

8

不要使用LinearLayout作为AdView中的父。相反,使用RelativeLayoutlayout_centerInParent="true"为AdView的:

<RelativeLayout 
    android:id="@+id/ad_holder" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:gravity="bottom" > 

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

</RelativeLayout> 
+0

宾果!这是我正在寻找的。非常感谢Alek – Shakti 2012-04-13 15:18:14

0

使用 android:layout_alignParentBottom="true"android:layout_centerHorizontal="true"

3

或者只是使用android:layout_width="fill_parent"如果你仍然想用LinearLayout工作。