在ListView上方和下方添加视图

时间:2012-03-27 01:42:13

标签: android android-layout android-listview

在处理Android布局时,我都很高兴。我有一个ListView,我需要在ListView的上方和下方添加一个TextView。这就是我到目前为止所做的:

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:orientation="vertical"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
    >
    <!-- Header -->
    <RelativeLayout
        android:orientation="horizontal" 
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        >
        <TextView 
            android:id="@+id/header" 
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content" 
         />          
    </RelativeLayout>
    <!-- Header -->

    <LinearLayout
        android:orientation="vertical"
         android:layout_width="fill_parent"
         android:layout_height="fill_parent"
        android:padding="0dp"       
        >           
             <ListView 
                android:id="@android:id/list"
                android:layout_width="fill_parent"
                 android:layout_height="fill_parent"
            />

             <TextView android:id="@android:id/empty"
                android:layout_width="fill_parent"
                 android:layout_height="fill_parent"
                android:text="No items"
                android:padding="5dp"
                />
     </LinearLayout>

    <!-- Footer -->
    <RelativeLayout
        android:orientation="horizontal" 
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        >
        <TextView 
            android:id="@+id/footer" 
            android:layout_width="fill_parent" 
            android:layout_height="wrap_content" 
         /> 
    </RelativeLayout>        
    <!-- Footer -->
  </LinearLayout>

1 个答案:

答案 0 :(得分:2)

在代码中,您可以使用addHeaderViewaddFooterView将视图添加到ListView本身。在XML中,您必须使用某种布局。 LinearLayout将执行:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >

    <TextView 
        android:id="@+id/header" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        />          

    <ListView 
        android:id="@android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        />
    <TextView android:id="@android:id/empty"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:text="No items"
        android:padding="5dp"
        />

    <TextView 
        android:id="@+id/footer" 
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        /> 
</LinearLayout>