2012-09-10 56 views
14

我想附加一個頁腳,這是固定的,始終可見,到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); 
} 

儘管此代碼並在列表的底部產生一個視圖,它並沒有真正做我想做的:

首先,我需要頁腳是固定的,即在屏幕上可見,而不管列表在哪裏滾動。使用此解決方案時,只有當屏幕滾動到列表底部時,纔會顯示頁腳。

其次,即使列表爲EMPTY,我也需要顯示頁腳。在此解決方案中,當列表爲空時,頁腳不可見。

什麼是獲得一個固定頁腳(在我的情況下,一個按鈕)總是出現在ListFragment或ListActivity下的最佳方式是什麼?

謝謝!

回答

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> 

這種佈局將在片段的onCreateView方法一起使用。

+0

即使我使用的是ListFragment,而不是普通的舊片段,這樣做還是可以的嗎?或者我將不得不將其轉換爲碎片? – gcl1

+0

@ gcl1「ListFragment」是View的一個簡單的'ListView',其ID爲'android.R.id.list'。你仍然可以使用'ListFragment',你只需要重寫'onCreateView'方法並從我的答案返回佈局。當前'ListFragment'的其餘代碼將保持不變。 – Luksprog

+0

謝謝,讓我試試.... – gcl1