欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

RecyclerView 多布局的时候GlideLayoutManger item占位问题

程序员文章站 2022-04-25 10:43:57
...

在上篇recyclerView多布局中,我们使用的LinearLayoutManager(),项目能够正常的展示,如果我们使用GlideLayoutManger的时候就会出现item多布局的占位问题,布局出现并不是我们想要的那样,比如下图

RecyclerView 多布局的时候GlideLayoutManger item占位问题

出现item占位问题。下面我们就说下怎么解决这个问题
首先我们要知道GlideLayoutManger有setSpanSizeLookup()这个方法,就是规范item多少占位问题,
然后先创建一个类

public class MySpanSizeLookup extends GridLayoutManager.SpanSizeLookup {
    @Override
    public int getSpanSize(int position) {
        if (position < 2) {//前2个item默认占一整行
            return 2;
        } else { //返回默认值 因为我设置的是2个默认占位一行
            return 1;
        }
    }
}

然后在Activity中设置下就可以了

 final GridLayoutManager manger = new GridLayoutManager(mContext, 2);
        manger.setSpanSizeLookup(new MySpanSizeLookup());
        manger.setOrientation(LinearLayoutManager.VERTICAL);
        mRv.setLayoutManager(manger);
        final MyAdapter myAdapter = new MyAdapter(datas, data_img);
        mRv.setAdapter(myAdapter);

效果图
RecyclerView 多布局的时候GlideLayoutManger item占位问题

相关标签: 布局