6

我正在尝试将 gogole Adview 与列表的底部和中心对齐,直到现在我能够强制 Adview 位于列表的底部而不会干扰列表,但它没有进入 center 。

代码贴在下面,抱歉没有附上截图

<?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>
4

4 回答 4

10

不要LinearLayout用作 AdView 的父级。相反,对 AdView使用RelativeLayoutand :layout_centerInParent="true"

<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>
于 2012-04-13T15:05:33.373 回答
5

或者,android:layout_width="fill_parent"如果您仍想使用LinearLayout.

于 2014-06-04T13:00:57.790 回答
1

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

于 2012-04-13T15:05:07.977 回答
0

或者你也可以使用 LinearLayout:

机器人:layout_gravity="center_horizo​​ntal"

于 2019-02-08T23:11:50.263 回答