@Override
    public void onAttachedToRecyclerView(final RecyclerView recyclerView) {
        super.onAttachedToRecyclerView(recyclerView);
        RecyclerView.LayoutManager manager = recyclerView.getLayoutManager();
        if (manager instanceof GridLayoutManager) {
            final GridLayoutManager gridManager = ((GridLayoutManager) manager);
            gridManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
                @Override
                public int getSpanSize(int position) {
                    int type = getItemViewType(position);
                    if (mSpanSizeLookup == null)
                        return (type == EMPTY_VIEW || type == HEADER_VIEW || type == FOOTER_VIEW || type ==
                                LOADING_VIEW) ? gridManager.getSpanCount() :  1 ;
                    else
                        return (type == EMPTY_VIEW || type == HEADER_VIEW || type == FOOTER_VIEW || type ==
                                LOADING_VIEW) ? gridManager.getSpanCount() : mSpanSizeLookup.getSpanSize(gridManager,
                                position - getHeaderLayoutCount());
                }
            });
        }
    }
When set to true, the item will layout using all span area. That means, if orientation
is vertical, the view will have full width; if orientation is horizontal, the view will
have full height.
if the hold view use StaggeredGridLayoutManager they should using all span area

@param holder True if this item should traverse all spans.
common/src/main/java/com/sxjs/common/base/baseadapter/BaseQuickAdapter.java