本着不依赖第三方库的想法,所以才打算自己利用谷歌出的SwipeRefreshLayout封装一套下拉刷新、上拉加载更多的框架,也是为了方便自己。
SwipeRefreshLayout的用法在这里就不多说了,主要的就是上拉加载更多,٩(๑òωó๑)۶其实本质就是通过GetItemType来做判断的。
那怎么做才能做到跨行呢,
大家都知道RecyclerView 都需要设置一个LayoutManager来规定RecyclerView展示的列表的布局方式,针对网格布局GridLayoutManager我们来看一下,
通过源码我们可以看到有这么一个跨越的方法,
Paste_Image.png
٩(๑òωó๑)۶对,没错,这个就是跨行的关键,那么如何做到跨行呢?继续跟踪SpanSizeLookup,看看这个是什么鬼.....
Paste_Image.png
可以看到它是一个静态抽象类,包含有一个getSpanSize方法,很明显,这个就是用来做跨行用的。
接下来就好办了。
那什么时候写跨行,又该如何确定单独自己想要的FooterView跨行呢。
这里首先感谢一下万能的网络大神,我这里主要是看了https://github.com/EvilBT/SherlockAdapter
这个项目中的实现方法,感觉其他框架应该都是基于此方法实现的吧....
好了不讨论了,接下来就动手实现的代码吧。
只需在Adapter里面重写onAttachedToRecyclerView();方法即可。这里的判断数据是否为空貌似没什么必要哈哈O(∩_∩)O Paste_Image.png
好了,小伙伴们如果看了赶紧动起手来吧,告别多余的框架。。。
网友评论