2

我正在测试Adview我的布局。如果我把它放在Adview之前ListView一切都很好,但如果我把它放在它之后ListView它就不会出现。

怎么了?

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

    <ListView
        android:id="@+id/android:list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="bottom"
        android:background="@android:color/white" />

    <com.google.ads.AdView
        android:id="@+id/adView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        ads:adSize="BANNER"
        ads:adUnitId="xxxx"
        ads:testDevices="xxxx" />

</LinearLayout>
4

3 回答 3

6

您将ListView's设置layout_heightfill_parent,因此它将占用布局中所有剩余的垂直空间。你AdView在那里,它只是被ListView.

如果你想把它放在AdView底部,并ListView占据所有剩余的垂直空间,你可以用权重来做:

<ListView
    android:id="@+id/android:list"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    android:background="@android:color/white" />
于 2012-05-18T17:18:13.040 回答
2

你的Listview height is fill parent所以你的垂直空间已经被listview占用了,,,

所以制作 Listviewandroid:layout_weight="1"

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

    <ListView android:layout_weight="1"
        android:id="@+id/android:list"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="bottom"
        android:background="@android:color/white" />

    <com.google.ads.AdView
        android:id="@+id/adView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        ads:adSize="BANNER"
        ads:adUnitId="xxxx"
        ads:testDevices="xxxx" />

</LinearLayout>
于 2012-05-18T17:19:09.327 回答
1

将您的布​​局更改为RelativeLayout并添加android:layout_above="@+id/adView"您的ListView. 我希望能帮助你。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:ads="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ListView
        android:id="@+id/list_view"
        android:layout_above="@+id/adView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:divider="@null" />

    <com.google.android.gms.ads.AdView 
        android:id="@+id/adView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        ads:adSize="BANNER"
        ads:adUnitId="xxxxx" />

</RelativeLayout>
于 2017-07-19T03:04:44.337 回答