Android开发 RecyclerView开发记录

博观而约取,厚积而薄发。这篇文章主要讲述Android开发 RecyclerView开发记录相关的知识,希望能为你提供帮助。
将RecyclerView高度,在有指定数量item后固定【Android开发 RecyclerView开发记录】使用时,请注意2点情况:

  1. 不要将RecyclerView的android:layout_height属性设置为wrap_content,不然是不会成功的.
  2. item的根布局也需要固定高度,不要使用wrap_content,否则下面测算高度时会出现不准确的情况.
/** * 自适应列表View在到指定数量item后固定高度, * * @param targetNum */ private void adaptiveRecyclerViewHeight(int targetNum) { mFamilyListRecyclerview.setLayoutManager(new LinearLayoutManager(getContext()) { @Override public void onMeasure(RecyclerView.Recycler recycler, RecyclerView.State state, int widthSpec, int heightSpec) { int count = state.getItemCount(); if (count > 0) { if (count > targetNum) { count = targetNum; } int realHeight = 0; int realWidth = 0; for (int i = 0; i < count; i++) { View view = recycler.getViewForPosition(0); if (view != null) { measureChild(view, widthSpec, heightSpec); int measuredWidth = View.MeasureSpec.getSize(widthSpec); int measuredHeight = view.getMeasuredHeight(); realWidth = realWidth > measuredWidth ? realWidth : measuredWidth; realHeight = realHeight + measuredHeight; } } setMeasuredDimension(realWidth, realHeight); } else { super.onMeasure(recycler, state, widthSpec, heightSpec); } } }); }

 
 
 
 
 
END

    推荐阅读