2012-04-13 49 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工作。