我想寫一個佈局,其中將包含Android佈局中的列表視圖和按鈕。列表視圖是一個片段,按鈕是佈局的一部分。添加列表片段時隱藏Android的按鈕元素
layout.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- fragment container to display transactions for this budget -->
<LinearLayout
android:id="@+id/transactionsContainer"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/newTransaction"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/button_new_transaction"/>
</LinearLayout>
listview_fragment.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:padding="10dp"
android:layout_height="wrap_content">
<TextView
android:id="@+id/transactionTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_marginTop="6dp"
android:layout_toLeftOf="@+id/transactionAmount"
android:layout_toStartOf="@+id/transactionAmount"
style="@style/ListItemDescription"/>
<TextView
android:id="@+id/transactionAmount"
style="@style/AmountText"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"/>
</RelativeLayout>
我加入這樣的片段;
final FragmentManager fm = getFragmentManager();
Fragment container = fm.findFragmentById(R.id.transactionsContainer);
if (container == null) {
final TransactionListFragment fragment = new TransactionListFragment();
fm.beginTransaction().add(R.id.transactionsContainer, fragment).commit();
}
該片段被添加到佈局很好,但是,當列表增長大於顯示高度的按鈕丟失。如果有少量的列表視圖項目,則該按鈕是可見的;
按鍵採用3項
按鍵採用10項
當調試與hierarchyviewer認爲缺少可見,按鈕是存在的,但長相就好像它在listview片段後面一樣;
任何想法是怎麼回事?
感謝您的建議,但是嘗試此操作時,列表視圖中只顯示一個項目。在閱讀了[ScrollView](http://developer.android.com/reference/android/widget/ScrollView.html)文檔後,它說你不應該使用帶有ListView的ScrollView,因爲ListView需要自己滾動 – Kevin
@凱文,是的,這是真的,那麼你有另一種選擇。查看更新。按鈕將始終在底部,列表視圖將滾動'transactionsContainer'內 – gio
感謝您的更新,這幾乎是我在尋找。我不希望它位於屏幕底部的固定位置,而是希望它出現在佈局的底部 - 這樣在滾動完成後就可以看到它。有沒有辦法讓碎片成爲線性佈局的第一個孩子?如果是這樣,我可以添加按鈕作爲LinearLayout的一部分。 – Kevin