RecyclerView内容高度

时间:2015-02-07 21:03:32

标签: android height android-recyclerview

有没有什么好方法可以获得RecyclerView内容的高度?考虑到所有项目可能有不同的高度。

在我的场景中,我使用的是LinearLayoutManager。

我四处搜寻,发现这个问题的结果令人惊讶。

3 个答案:

答案 0 :(得分:39)

RecyclerView.computeVerticalScrollRange会给出估算值 - 它会平均当前显示的行的高度,并将其乘以getItemCount的结果

如果您的方向是水平的,则

computeHorizontalScrollRange表示宽度。

答案 1 :(得分:15)

RecyclerView是ViewGroup。您可以使用getChildAt / getChildCount来获取观看次数。然后,从视图中,您可以致电getWidth / getHeight

如果您有ItemDecorators并且需要获得包含它们的大小,则可以使用LayoutManager的{​​{1}}方法。

答案 2 :(得分:2)

我用来试验View.measure方法:

recycler.measure(View.MeasureSpec.makeMeasureSpec(recycler.width, View.MeasureSpec.EXACTLY), View.MeasureSpec.UNSPECIFIED)
val height = recycler.measuredHeight

如果您的物品足够简单(例如固定高度),则应该可以使用。