RecycleView的高级用法

在这里插入图片描述

看图下面的例子,要做下面的你会考虑使用RecycleView 跟什么结合?可能你会说.RecycleView + GrldView或者RecycleView+RecycleyView

现在我说一种RecycleView进阶用法,只需要一个RecycleView就可以做到,在这里插入图片描述
demo中就有MainActivity跟各种各样的适配器,和对应的实体类组成
BitPicDelegate:就是大图类型
FourPicDelegate:就是一行四个图片的类型
ThreddDPicDelegate:就是显示一行三个图片的类型
TowPicDeleagte:就是显示一行2个图片的类型
TitleDelegate: 就是标题栏:(我是x个)
每一个xxxDelegate都有自己对应的布局,当前你也可以使用相同的布局

控制每一行显示多个item最重要的code就是在,MainActivity的代码中的

gridLayoutManager.setSpanSizeLookup

函数,这里控制了不同类型,每行所占的item数

		/**
         * demo这里一行对多12个item,这个12是由每行显示的最小公倍数,我这里显示的类型有每行有1,2,3,4个,所以最小公倍数为
         * 12
         */
        GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 12);

        gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
            @Override
            public int getSpanSize(int position) {
                final ShowBean showBean = showBeanList.get(position);
                if (showBean == null) {
                    return 0;
                }

                switch (showBean.getShowType()) {
                    case ShowBean.Type_Title:
                        /**
                         * 指标题栏一个就占12个
                         */
                        return 12;
                    case ShowBean.Type_Big_Pic:
                        /**
                         * 大图一个就占12个
                         */
                        return 12;
                    case ShowBean.Type_Tow_Pic:
                        /**
                         * 一行显示两个图片,那一个图片所占的位置为6个
                         */
                        return 6;
                    case ShowBean.Type_Three_Pic:
                        /**
                         * 一行显示三个图片,那一个图片所占的位置为4个
                         */
                        return 4;
                    case ShowBean.Type_Four_Pic:
                        /**
                         * 一行显示四个图片,那一个图片所占的位置为3个
                         */
                        return 3;
                    default:
                        return -1;
                }
            }
        });

在实际的开发中,还可以完成更复杂的局面布局,而且不用担心各种RecycleView嵌套问题
demo的传送门:
demo中结合万能适配器,方便一点
github地址

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值