前言:时间隔得有点久了,不过,还是把recycleview的一些东西整理了一下。以前,遇到要求上拉下拉的或者侧滑的都是直接百度,git,找已有的三方。的确,一些三方,还是写得很好的。不过,发现,没有一个是将这两个结合起来的。所以,写了今天这篇文章。今天这篇文章,你看过之后,以后再也不用担心ui给你设计一个列表,既要上拉下拉,又要侧滑,而且上拉下拉,还得是他设计的那样了。
言归正传,先来讲解一下思路。上拉下拉,layout布局的事情,侧滑是item的事情。所以,从一开始的设计,我们就可以明确把这两个东西拆分开。他们将是以组合的形式,插拔式的方式,结合在一起。换言之,可以单独使用,也可以混合使用。ok,现在跟着我一步步来。我只讲关键点,和重要细节。(因为,如果全部讲,那太多了,还是大家自己在后面下载我的源码自己看细节吧)
你可以把我这篇文章认为是,我整合的三方框架的使用说明都可以。(ps:这部分代码,我是kotlin和java混合写的。如果你问为什么混合写?我只能告诉你,炫技)
来先看看我的结构吧:
如下图,我讲recycleview上拉下拉,侧滑的代码全部单独放到一个libary中了(如果你问什么是libary,怎么创建,怎么引入,请自行百度,网络上很多文章写的很详细)这样,是最大化的解耦技术代码。
我们打开这个libary,我分了两个包,通过名字应该就很清晰了。一个是上拉刷新下来加载,一个是侧滑菜单。
现在我们再打开看看,在基本使用中,我们只需要用到下面标注的三个类。所以,在使用阶段,可以不看其他类,甚至,不看这三个类。只需要知道名字就可以了。
好了,现在,我们开始写代码吧。
我们先来一个简单的上拉下拉吧:重点我都标注出来了。看到没有一屏我就搞定了。
布局文件,我最后展示,先看代码,理解思路。
再来看看自定义上拉,下拉,其实自定义上拉下拉,就是自定义头和尾。这个也简单:(这里,我是用java写的,也让大家看看java和kotlin的一些小区别吧)
我们再来看看这个自定义的header
是不是很简单?就这样就自定义写完了。
好了,最后,我们再把侧滑加进来:
这里,就不贴activity的代码了,猜猜原因。
因为,activity的代码,和第一个 一毛一样。还记得我之前说得吗,上拉下拉,和侧滑,是解耦的。
那么侧滑是加在哪里的呢?不用猜,只能是在item里面和adapter中。
ok,以上就是上拉下拉,和侧滑菜单了。主要讲了关键点,使用思路。对于小白来讲,这些就够花时间去熟悉了。原理和实现代码,就大家自己慢慢花时间自己理解吧。最后,附上我的源码下载地址:https://github.com/LuckyCode1992/recycleviewsummary
网友评论