ListFragment下面的固定且始终可见的页脚

gcl*_*cl1 14 android android-listview android-listfragment

我正在尝试将一个固定且始终可见的页脚附加到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);
}
Run Code Online (Sandbox Code Playgroud)

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

首先,我需要页脚固定,即在屏幕上可见,无论列表的滚动位置如何.使用此解决方案,只有当屏幕滚动到列表底部时,才会显示页脚.

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

固定页脚(在我的情况下,按钮)总是出现在ListFragment或ListActivity下面的最佳方法是什么?

谢谢!

Luk*_*rog 40

您可以在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>
Run Code Online (Sandbox Code Playgroud)

此布局将用于onCreateView片段的方法.

  • @ gcl1`onCreateView`应该是这样的:`@Override public View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState){return inflater.inflate(R.layout.the_layout,container,false); }. (2认同)