在ListView

时间:2017-11-24 09:32:36

标签: java android listview footer

下面是我的页脚布局,用于为我的ListView设置它:

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/gray_cell_bg">

    <TextView
        android:text="footer"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</RelativeLayout>

它工作正常。但是,如果我想在ListView的页脚中设置一些带有背景颜色的空视图,该怎么办?

如果我这样做,ListView没有显示页脚视图。 :

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/gray_cell_bg">

    </RelativeLayout>

我设置页脚如下:

View footerView = ((LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.footer_for_gym_list, null);
        listGymSuggestions.addFooterView(footerView);

请指导我如何在ListView中设置具有一定高度和背景颜色的空页脚?

4 个答案:

答案 0 :(得分:0)

View已存在,但它没有height因此您必须添加自己的高度值24dp或其他内容并将其设置为页脚,您甚至可以添加width 1}}如果你想要的话。例如,我在这里添加24dp 的高度:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="24dp"
    android:background="@color/gray_cell_bg">

</RelativeLayout>

答案 1 :(得分:0)

如果该布局中没有子项,则不会显示。如果您在设置特定高度时遇到问题(当您动态添加子项时),您可以使用填充之类的,

android:padding="20dp"

答案 2 :(得分:0)

我在其中一个布局中添加了一个按钮作为页脚。 这是我的代码。你可以添加任何你想要的东西。

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<include
    android:id="@+id/search_toolbar"
    layout="@layout/search_toolbar" />

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal">

    <ProgressBar
        android:id="@+id/indeterminateBar"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center" />
</LinearLayout>

<ListView
    android:id="@+id/listView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_above="@+id/emp_button"
    android:layout_below="@+id/search_toolbar" />

<TextView
    android:id="@+id/tvsample"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@id/search_toolbar"
    android:layout_marginTop="200dp"
    android:gravity="center_horizontal"
    android:textAppearance="@style/TextAppearance.AppCompat.Medium" />

<android.support.v7.widget.AppCompatImageButton
    android:id="@+id/emp_button"
    android:layout_width="match_parent"
    android:layout_height="50dp"
    android:layout_alignParentBottom="true"
    android:background="@color/Red"
    android:src="@drawable/ic_add_employee"
    android:text="@string/emp_button"
    android:textSize="14sp" />

答案 3 :(得分:0)

通过在页脚视图中添加ImageView解决问题,如下所示:

footer.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/gray_cell_bg">

    <ImageView
        android:layout_width="match_parent"
        android:layout_height="@dimen/com_facebook_profilepictureview_preset_size_normal"
        android:scaleType="fitXY"
        android:src="@color/gray_cell_bg" />
</RelativeLayout>