RecyclerView 新增 FooterView 時如果是GridLayoutManager 處理方法
阿新 • • 發佈:2019-01-04
/** * 用來處理 如果是Footer 是 GridView 的情況下 最後佔一個 gridview item */ @Override public void onAttachedToRecyclerView(RecyclerView recyclerView) { super.onAttachedToRecyclerView(recyclerView); RecyclerView.LayoutManager manager = recyclerView.getLayoutManager(); if (manager instanceof GridLayoutManager) { finalGridLayoutManager gridManager = ((GridLayoutManager) manager); gridManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { @Override public int getSpanSize(int position) { // 如果當前是footer的位置,那麼該item佔據2個單元格,正常情況下佔據1個單元格 return getItemViewType(position) == FOOTER? gridManager.getSpanCount() : 1; } }); } }