2015-02-07 6 views
7

RecyclerView 내부의 콘텐츠 높이를 얻는 좋은 방법이 있습니까? 모든 항목을 고려하면 높이가 다를 수 있습니다.RecyclerView 콘텐츠 높이

내 시나리오에서는 LinearLayoutManager를 사용하고 있습니다.

나는이 문제에 대해 놀랍게도 거의 결과를 찾지 못했습니다.

답변

12

RecyclerView는 ViewGroup입니다. 보기를 보려면 getChildAt/getChildCount을 사용할 수 있습니다. 그러면보기에서 getWidth/getHeight으로 전화 할 수 있습니다.

ItemDecorator가 있고 크기를 포함해야하는 경우 LayoutManagergetDecorated<xxx> 메서드를 사용할 수 있습니다. 그것은 평균 현재 표시되고있는 행의 높이 및 폭 getItemCount

computeHorizontalScrollRange의 결과로 당신이 방향은 수평 있다면 것을 곱 -

+4

RECYCLERView의 본질을 고려하면 실제로 생성 된 하위 뷰를 가져 오지 않을까요? 100 개의 항목이 있다고 가정 해 보겠습니다. 어쩌면 10 개의보기 만 부 풀리고 재활용 될 수 있습니다. – Kenneth

+0

배치되지 않은 항목의 높이를 얻으려는 경우 배치되지 않은 항목의 높이를 가져올 수 없습니다. RecyclerView를 사용하는 목적을 상쇄하는 모든 항목을 레이아웃하는 것 이외에는이 솔루션을 사용할 수 없습니다. – yigit

+0

그러나 RecylerView는 스크롤 바를 올바르게 배치 할 수 있다는 것을 충분히 알고 있으므로 내용 높이에 대해 알고 있어야합니다. – Kenneth

19

RecyclerView.computeVerticalScrollRange는 추정을 제공 할 것입니다.

+2

이것은 허용 된 대답이어야합니다. –

관련 문제