16

我正在尝试将一个固定且始终可见的页脚附加到 ListFragment 的底部。

我目前正在这样做:

@Override public void onActivityCreated(Bundle savedInstanceState) {

    // ...

    adapter = new MyAdapter(getActivity(), R.layout.list, dataList);

    ListView list = getListView();
    View footer = ((LayoutInflater) getActivity().getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.footer_add, null, false);

    list.addFooterView(footer);
    setListAdapter(adapter);
}

虽然这段代码确实在列表底部生成了一个视图,但它并没有真正做到我想要的:

首先,我需要固定页脚,即无论列表滚动到哪里,都可以在屏幕上看到。使用此解决方案,页脚仅在屏幕滚动到列表底部时可见。

其次,即使列表为空,我也需要显示页脚。在此解决方案中,当列表为空时,页脚不可见。

让固定页脚(在我的例子中是一个按钮)始终出现在 ListFragment 或 ListActivity 下方的最佳方法是什么?

谢谢!

4

1 回答 1

42

您可以在 xml 布局中执行此操作:

<RelativeLayout>

    <Button android:id="@+id/footer" android:layout_alignParentBottom="true"/> 
    <ListView android:id="@android:id/list" android:layout_above="@id/footer"> <!-- the list -->

</RelativeLayout>

这个布局将在onCreateView片段的方法中使用。

于 2012-09-10T14:40:10.620 回答