有没有什么好的方法来获取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