有沒有什麼好的方法來獲取RecyclerView內的高度?考慮到所有項目可能有不同的高度。RecyclerView內容高度
在我的場景中,我使用了LinearLayoutManager。
我周圍搜索,發現這個問題令人驚訝的結果很少。
有沒有什麼好的方法來獲取RecyclerView內的高度?考慮到所有項目可能有不同的高度。RecyclerView內容高度
在我的場景中,我使用了LinearLayoutManager。
我周圍搜索,發現這個問題令人驚訝的結果很少。
RecyclerView是ViewGroup
。您可以使用getChildAt
/getChildCount
來獲取視圖。然後從視圖中,您可以撥打getWidth
/getHeight
。
如果您有ItemDecorators並需要獲取包括它們的大小,可以使用LayoutManager
的getDecorated<xxx>
方法。
RecyclerView.computeVerticalScrollRange
會給估計 - 它均線當前正在顯示的行的高度,乘以通過的getItemCount
computeHorizontalScrollRange
爲寬度的結果,如果你方向是水平的。
這應該是一個被接受的答案。 – 2017-04-05 13:39:32
考慮到RECYCLERView的性質,是不是隻會得到實際創建的子視圖?假設我有100個項目,也許只有10個視圖被充氣和回收。 – Kenneth 2015-02-09 05:44:23
如果您試圖找到未佈置的物品的高度,則不能,因爲它們沒有佈置。除了佈置每個單獨的項目之外,不可能有解決方案,這會破壞使用RecyclerView的目的。 – yigit 2015-02-09 21:42:47
但RecylerView知道足夠的正確佈局滾動條,所以它必須知道一些關於它的內容高度? – Kenneth 2015-02-10 03:50:17