如何在ListView的末尾添加页脚视图(TextView)?

时间:2014-03-13 18:53:25

标签: android android-layout android-listview

我正在尝试制作这样的布局:

actionbar   
==================== 
txtViewTitle
--------------------
listview item1
listview item2
listview item3
........scroll scroll scroll
...at the end of all the items:
-----------------
txtViewFooter
==================
linearlayout of buttons [always visible at the bottom]
-------------------------------

========== s之间的部分应该是可滚动的

这是我的代码,它的工作原理除了txtViewFooter,如果列表足够短以容纳部分屏幕,则会显示。如果列表较长并且需要滚动

,则不显示
<RelativeLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/d_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<TextView
    android:id="@+id/txtViewTitle"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="8dp"
    android:background="#eeeeee"
    android:gravity="center|center"
    android:layout_alignParentTop="true"
    style="?android:listSeparatorTextViewStyle"/>

<View
    android:layout_width="fill_parent"
    android:layout_height="0.1dp"
    android:layout_below="@+id/txtViewTitle"
    android:id="@+id/separator"
    android:visibility="visible"
    android:background="@android:color/darker_gray"/>

<ListView  
android:layout_height="match_parent"
android:layout_below="@+id/separator"
android:id="@+id/my_list" 
android:listSelector="@android:color/transparent"
android:smoothScrollbar="true"
android:layout_width="fill_parent"
android:background="@android:color/transparent"
    android:textColor="#000000"
    android:dividerHeight="0dp"
    android:cacheColorHint="@android:color/transparent">
</ListView>

<TextView
    android:id="@+id/txtViewFooter"
    android:layout_below="@+id/my_list"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:padding="8dp"
    android:textStyle="italic"
    />

<View
android:layout_width="fill_parent"
android:layout_height="0.1dp"
android:layout_above="@+id/bottom_menu"
android:id="@+id/separator2"
android:visibility="visible"
android:background="@android:color/darker_gray"/>

<LinearLayout android:id="@+id/bottom_menu"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content"         
    android:orientation="horizontal" 
    android:layout_alignParentBottom="true"
    android:background="#eeeeee">
    <include layout="@layout/footer_menu" />
</LinearLayout>

1 个答案:

答案 0 :(得分:6)

使用

ListView.addFooterView(View v)

向您的ListView添加页脚。您不需要在.xml

中定义页脚

示例:

TextView tv = new TextView(Context);
tv.setText("I am a footer")

ListView.addFooterView(tv);

从.xml:

膨胀
View footer = LayoutInflater.from(Context).inflate(R.layout.your_footer_layout, null);
ListView.addFooterView(footer);

确保在添加其他项目到列表之前添加页脚或标题View