列表视图中的float页眉和页脚

时间:2014-01-04 19:22:08

标签: android android-layout listview android-listview

我创建了一个listview,将textview添加到页眉和页脚。只有当你滚动到listview的顶部和底部时它才可见。我希望它是浮动的。我该怎么做?我真的很感激任何帮助。谢谢提前。

          View header = getLayoutInflater().inflate(R.layout.header, null);

          list.addHeaderView(header);

3 个答案:

答案 0 :(得分:2)

  

我希望这是浮动的。我该怎么做?

如果通过"漂浮"你的意思是"固定,而不是移动,在ListView"之上和之下,解决方案是不将它们放在ListView中。使用LinearLayout将页眉和页脚放在ListView本身的正上方和下方。

如果你对"浮动"有其他定义,请编辑你的问题以解释更多,我可以删除这个答案。

答案 1 :(得分:1)

所以,如果“浮动”是指固定,我可以采用以下方法:

<?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"
    >
    <TextView
        android:id="@+id/txtQuestion"
        android:background="@color/blue_gray_semi"
        android:layout_alignParentTop="true"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:minHeight="48dp"
        android:padding="8dp"
        android:textColor="@color/white"
        android:textSize="16sp"
        android:textStyle="bold"
        android:shadowColor="@color/black"
        android:shadowRadius="1"
        android:shadowDx="1"
        android:shadowDy="1"
    />
    <TextView
        android:id="@+id/txtPosition"
        android:background="@color/blue_gray_semi"
        android:layout_alignParentBottom="true"
        android:layout_width="fill_parent"
        android:layout_height="48dp"
        android:gravity="center"
        android:padding="0dp"
        android:textColor="@color/white"
        android:textSize="24sp"
        android:textStyle="bold"
    />
    <ListView
        android:id="@+id/lvwAnswers"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_below="@id/txtQuestion"
        android:layout_above="@id/txtPosition"
        android:listSelector="@drawable/list_item_colors"
        android:background="@drawable/list_border"
        style="@style/ListViews"
    />
</RelativeLayout>

请注意,我定义了一些颜色/样式/绘图...
你可以不用,只是为了理解这个概念 然后,根据您的意愿进行自定义。

现在,您会注意到在ViewView之前定义了textView 这是因为ListView可以在其“上方”和“下方”属性中引用它们 如果您要使用LinearLayout,则应该从上到下定义它们(Header,ListView和Footer)

答案 2 :(得分:1)

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

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@+id/linearLayout1"
    android:layout_below="@+id/tvListHeader"
    android:orientation="vertical" >

    <ListView
        android:id="@+id/listView1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <TextView
        android:id="@android:id/empty"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/no_notes"/>
</LinearLayout>

<LinearLayout
    android:id="@+id/linearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:gravity="center"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/bListBack"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:onClick="onClick"
        android:text="Back" />
</LinearLayout>

<TextView
    android:id="@+id/tvListHeader"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="10dp"
    android:gravity="center"
    android:text="Text"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textColor="#FF0000"
    android:textStyle="bold" />