仿淘宝、京东首页,通过两层嵌套的RecyclerView实现tab的吸顶效果
目前NesteRecyclerView_V2(方案二)已更新,推荐。
声明
本项目是根据下方作者的项目进行改进而来的,请先阅读大佬的文章以了解其原理
https://github.com/JasonGaoH/NestedRecyclerView
https://juejin.im/post/5d5f4cfcf265da03e61b18b8
效果

示例.gif
附上项目地址 https://github.com/Ubitar/NestRecyclerView
对项目做出了如下修改:
1、使用Kotlin对代码做出了精简,同时改进原文的部分变量名称,更易懂
2、父RecyclerView的Adapter必须实现INestAdapter接口规范
3、添加setPreLoadHeight函数以控制RecyclerView可见范围外的视图预加载
其他详情请看https://github.com/Ubitar/NestRecyclerView
常见问题
1、SmartRefresLayout作为最外层父组件且Tab栏为固定状态,下拉列表会触发父组件的下拉刷新
我推荐监听外层NestRecyclerView的滚动高度来控制刷新框架是否开启下拉刷新setEnableRefresh(Boolean)

2、怎么控制子RecyclerView是否滚动到了底部
yourAdapter.setOnChildScrollEndListener { recyclerView, newState ->
ToastUtils.showShort("滚动子RY到底部了")
//这里可以加载更多数据
}
可以参考demo中的adapter中createChildRecyclerView的写法判断是否滚动到底部
3、实现起来好复杂
是有点复杂,双RecyclerView贵在可以循环利用视图,如果你的想要实现的业务功能不是很大,或许你可以考虑下这个大佬的库https://www.jianshu.com/p/0783b0a37fa1 只有亿点点bug而已