SpanSizeLookup 使用

在使用RecyclerView时碰见一个这样的情况,当使用GridLayoutManager模式时,设置空布局会有这样一个现象,空布局只会占用某一个Item(也就是不居中显示)。使用的Adapter框架是BaseRecyclerViewAdapterHelper

解决这样的一个问题这里就需要使用到SpanSizeLookup

final GridLayoutManager gridLayoutManager = new GridLayoutManager(context, 2);
gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {    
  @Override   
  public int getSpanSize(int position) { 
       int itemViewType = mAdapter.getItemViewType(position);
       if (itemViewType == BaseQuickAdapter.EMPTY_VIEW) {//判断当前类型是否是EmptyView
            return gridLayoutManager.getSpanCount();        
       } else {
            return 1;
        }   
 }});
mRecyclerContent.setLayoutManager(gridLayoutManager);

SpanSize解释

SpanSize为多少,表示占用几个item
gridLayoutManager.getSpanCount() 返回的是我们开始设置的一行几个item数量

    原文作者:Baisoo
    原文地址: https://www.jianshu.com/p/411d405ff273
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞