RecyclerView分栏显示处理

来源:互联网 发布:知乎三里屯不知道诊所 编辑:程序博客网 时间:2024/06/05 11:36
item占一行
 public void onAttachedToRecyclerView(RecyclerView recyclerView) {        super.onAttachedToRecyclerView(recyclerView);        RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager();        if (layoutManager != null && layoutManager instanceof GridLayoutManager) {            final GridLayoutManager gridLayoutManager = (GridLayoutManager) layoutManager;            gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {                @Override                public int getSpanSize(int position) {                    return getItemViewType(position) == VIEW_TYPE_REFRESH_HEADER || getItemViewType(position) == VIEW_TYPE_REFRESH_FOOTER                            ? gridLayoutManager.getSpanCount() : 1;                }            });        }    }    @Override    public void onViewAttachedToWindow(RecyclerView.ViewHolder holder) {        super.onViewAttachedToWindow(holder);        View itemView = holder.itemView;        ViewGroup.LayoutParams lp = itemView.getLayoutParams();        if (lp == null) {            return;        }        if (holder instanceof RefreshHeaderViewHolder || holder instanceof RefreshFooterViewHolder) {            if (lp instanceof StaggeredGridLayoutManager.LayoutParams) {                StaggeredGridLayoutManager.LayoutParams p = (StaggeredGridLayoutManager.LayoutParams) lp;                p.setFullSpan(true);            }        }    }
0 0
原创粉丝点击