2012-02-01 152 views
0

我有一個ListActivity,我試圖誇大從這個佈局文件ButtonalignParentBottom佈局中的充氣

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
    <Button 
     android:id="@+id/add_button" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/add_prop" 
     android:layout_alignParentBottom="true" 
     /> 
</LinearLayout> 

使用此代碼:

View footer = getLayoutInflater().inflate(R.layout.footer, null); 
ListView listView = getListView(); 

listView.setTextFilterEnabled(true); 
listView.addFooterView(footer, null, false); 

的問題是,由於列表不是很大,需要整個屏幕(至少我認爲這是爲什麼),因爲android:layout_alignParentBottom="true"屬性,按鈕停留在列表的最後,而不是堅持到底部。我該怎麼做才能讓它堅守底部?

+0

我不認爲'機器人將它設置爲Activity的內容視圖:layout_alignParentBottom =「真」 '在LinearLayout中有效果。它只適用於RelativeLayout。 – Vladimir 2012-02-01 15:22:20

+0

將'footer.xml'更改爲'RelativeLayout'並且沒有任何更改 – 2012-02-01 15:30:36

回答

1

你必須創建這個代碼的新佈局文件:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" > 

    <ListView 
     android:id="@android:id/list" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:layout_above="@+id/add_button" /> 

    <Button 
     android:id="@+id/add_button" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/add_prop" 
     android:layout_alignParentBottom="true" /> 

</RelativeLayout > 

然後使用setContentView()

+0

但是我使用'ListActivity'來生成列表,而不是佈局文件。如何在Java的佈局文件上填充ListView? – 2012-02-01 18:20:36

+1

如果使用我的佈局,那麼'ListActivity'將自動使用佈局文件中的ListView - ID爲'@android:id/list'的佈局文件 - 並且不會生成它自己的佈局文件。 – 2012-02-01 18:30:47

+0

非常感謝!這工作完美! **:)** – 2012-02-02 14:46:25