根据viewType判断了对应position填充的布局后,在OnBindViewHolder中为foot布局设置setFullSpan(),
StaggeredGridLayoutManager.LayoutParams layoutParams1 = (StaggeredGridLayoutManager.LayoutParams)holder.itemView.getLayoutParams(); if (layoutParams1==null){ return; } layoutParams1.setFullSpan(true);但是这样会有一个问题,在数据不多,或者说第一页加载的时候,layoutParam1为空,导致不能够正确显示充满全屏,可以改代码如下所示,可解决问题
StaggeredGridLayoutManager.LayoutParams lp = new StaggeredGridLayoutManager.LayoutParams( StaggeredGridLayoutManager.LayoutParams.WRAP_CONTENT,StaggeredGridLayoutManager.LayoutParams.WRAP_CONTENT); holder.itemView.setLayoutParams(lp); StaggeredGridLayoutManager.LayoutParams layoutParams1 = (StaggeredGridLayoutManager.LayoutParams)holder.itemView.getLayoutParams(); if (layoutParams1==null){ return; } layoutParams1.setFullSpan(true);