2011-05-31 50 views
9

我想將一個ListView下的ProgressBar視圖ListActivity。我希望它始終低於listView中的最後一行。Android ListActivity - 如何在ListView下添加視圖?

只要列表(由運行時的適配器填充)未超出屏幕,ProgressBar就會出現在LinearLayout中。一旦列表大於屏幕,ProgressBar不再可見。

佈局XML看起來是這樣的:

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@+id/db1_root" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:orientation="vertical"> 

<!-- Title bar --> 
<LinearLayout 
    style="@style/TitleBar" > 
    <TextView 
     style="@style/TitleBarText" 
     android:text="Some title text" /> 
    <ImageButton 
     style="@style/TitleBarAction" 
     android:contentDescription="@string/description_search" 
     android:src="@drawable/title_search" /> 
</LinearLayout> 

<!-- Content --> 
<LinearLayout 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" > 

    <ListView 
     android:divider="@drawable/category_item_divider" 
     android:dividerHeight="@dimen/list_divider_height" 
     android:layout_height="wrap_content" 
     android:id="@+id/android:list" 
     android:layout_width="fill_parent" 
     android:layout_weight="1" />   
    <TextView 
     android:id="@+id/android:empty" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:text="@string/category_no_items" />     
</LinearLayout>  

<!-- Progress bar --> 
<LinearLayout 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" > 

    <ProgressBar 
     android:id="@+id/productlist_progressbar" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" /> 
</LinearLayout> 

</LinearLayout> 

這是無法實現的LinearLayout中?任何幫助讚賞。

+0

如果您希望視圖固定在屏幕的底部,在列表視圖下,在列表視圖中設置重量,頁腳滾動顯示 – urSus 2013-06-22 16:26:45

回答

12

你應該使用添加頁腳:

list.addFooterView(footerView); 

或做手工,但後來考慮使用相對佈局,還有比線性佈局更爲強大。然後將您的頁腳放置在列表下方,或者更好地將您的列表您的空視圖放在您的頁腳視圖之上。

+0

謝謝,頁腳視圖正是我一直在尋找的內容。我現在唯一的小問題是我在ListView中設置了一個android:divider,當我將footerView設置爲visibility = GONE(它只在加載更多數據時才使用),我在底部有兩個分隔符。猜猜這沒有「修復」:-) – Bachi 2011-05-31 20:10:39

相關問題