概述
StaggeredGridLayoutManager 可以帮助我们使用 RecyclerView 来实现瀑布流布局,但是如果我们想实现下面的效果,使上面的 BannerView 和下面的瀑布流一起滑动。
实现
我们是可以通过 ScrollerView + RecyclerView 来实现,但是这样就需要处理滑动冲突以及事件管理问题。那么能不能把 BannerView 也作为 RecyclerView 的一个item,让 RecyclerView 统一来管理呢?答案是可以的。
重写 Adpater 中的 onViewAttachedToWindow()
方法:
1 | override fun onViewAttachedToWindow(holder: RecyclerView.ViewHolder) { |
主要是调用 setFullSpan(true)
方法。