在使用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数量