固定页脚不显示最下面的列表项

时间:2010-12-23 23:52:33

标签: android xml listview footer

这是我的XML布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
 <ListView xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@android:id/list" 
  android:orientation="vertical"
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content">
 </ListView>

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_height="wrap_content"
     android:layout_width="fill_parent"
     android:layout_alignParentBottom="true">
    <EditText xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent" 
        android:layout_weight="1" />
    <Button xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:layout_weight="2" />
 </LinearLayout>
</RelativeLayout>

导致此问题:
The problem
listview项目(以红色标出)位于固定页脚的后面,无法使用。任何解决方案?
更新:
我更愿意指出我的代码中的更改来解决该问题,然后进行某种解释。但这只是我的偏好。

1 个答案:

答案 0 :(得分:4)

我刚刚发现了。通过使用RelativeLayout并将代码更改为:

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

    <LinearLayout
       android:id="@+id/listview_footer"
       android:layout_height="wrap_content"
       android:layout_width="fill_parent"
       android:layout_alignParentBottom="true">
       <EditText
           android:id="@+id/new_task_title"
           android:layout_height="wrap_content"
           android:layout_width="fill_parent" 
           android:layout_weight="1"
           android:hint="Add a new task" />
       <Button
           android:id="@+id/new_task_button"
           android:layout_height="wrap_content"
           android:layout_width="fill_parent"
           android:layout_weight="3"
           android:text="+" />
    </LinearLayout>

    <ListView
        android:id="@android:id/list" 
        android:orientation="vertical"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content"
        android:layout_below="@id/root"
        android:layout_above="@id/listview_footer">
    </ListView>
</RelativeLayout>