2011-02-05 49 views
1

我目前正在實施拉在Android的刷新功能。現在我通過使用列表項上方的Header Views創建一個自定義ListView來工作。實質上:當頂部標題視圖在視圖中時,通過監聽器啓動刷新。ListView控件 - 設置最小高度,使其始終允許滾動

在啓動ListView控件,它會自動滾動本身HeaderViews下面,隱藏它們,直到用戶向下滾動。當List Items的高度超過ListView本身的高度(因此存在滾動)時,此功能非常有用,但是當Children的高度小於ListView的高度時,不會滾動,並且強制顯示HeaderViews 。

基本上我是後一種強制ListView控件的滾動區域是我HeaderViews的ListView中+高至少高度。我已經得到了我的HeaderViews的高度,但我找不到獲得ListView實際高度(即使用fill_parent時)的方法,也沒有辦法設置最小滾動高度。有任何想法嗎?

這將在GitHub上發佈我說完後,並適用於Android 1.5以上版本。

+0

只是說明說感謝你r GitHub發佈。爲我節省了用Nilsson實現解決所有問題的時間!乾杯。 – Devunwired

回答

1

我這個固定自己被加入了footerView到足夠大的尺寸:

final int numberHeaderViewsForPullToRefresh = 2; 


@Override 
protected void onSizeChanged(int w, final int h, int oldw, int oldh) { 
    super.onSizeChanged(w, h, oldw, oldh); 

    if (this.getCount() > numberHeaderViewsForPullToRefresh) { 

     // This is from Droid-Fu. Converts dip to px 
     final int size = DisplaySupport.dipToPx(getContext(), 60); 
     int childViewHeight = (this.getCount() - numberHeaderViewsForPullToRefresh) * size; 

     Utils.writeLog("Child Views Height: " + childViewHeight); 

     if (childViewHeight < h) { 
      this.removeFooterView(footerPad); 
      footerPad.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, h - childViewHeight)); 
      this.addFooterView(footerPad, null, false); 
     } 
    } 

} 
0

我面臨同樣的,但得到它完全以解決...

我沒有設置任何頁眉或頁腳我的列表視圖,而不是我的2

增加總列表項數說我有10名單然後項目我的名單顯示我12次..

而在充氣我檢查位置和膨脹頁眉和頁腳視圖的第一和最後一個位置適配器getView()方法的圖。爲休息我申請我所需的觀點列表項目..這是肯定的解決方案對我來說。

,它的工作也爲您在這個下面的鏈接我寫正確使用列表視圖代碼。

Change ListView background - strange behaviour

在此代碼,你會發現一個getView馬託使其膨脹的頁眉,頁腳和休息列表

如果你這樣做,然後不同的看法它的確定,否則我會多放些光它..

+0

我不知道這是如何回答我的問題。問題是當我在列表中只有一個或兩個項目時,列表不夠長,因此總是顯示。我需要擴展列表,以便列表有足夠的空間滾動和隱藏標題瀏覽。 –

+0

這個解決方案將使得頁眉和頁腳可以沿着列表視圖滾動。 好吧,你想列出少量的項目滾動? – Javanator

+0

HeaderViews無論如何都可以通過'addHeaderView'添加它們。我希望ListView始終滾動。 –

相關問題