PagerLayoutManager
具有分页功能的 Recyclerview 布局管理器,主打分页,可以替代部分场景下的网格布局,线性布局,以及一些简单的ViewPager,但也有一定的局限性,请选择性使用。
1. 效果预览
2. 支持的特性
[x] 网格布局,设置合适的行列数可以模拟线性布局或者ViewPager。
[x] 分页效果,支持自动回调页码的变化(总页数和当前页数)。
[x] 布局方向,支持横向滚动和垂直滚动。
[x] 方向切换,支持切换滚动方向。
[x] 支持电视,支持TV上按键翻页。
[x] 内存稳定,不会因为一次性添加大量的数据导致内存飙升或者严重卡顿。
[x] 使用简单,无侵入性,可以快速的将其他布局替换为该布局,也可以快速的移除该布局。
[x] 自动修正,当滚动到第3页,删除数据后内容不足2页,会自动修正当前页面为第2页。
3. 主要文件
名称作用
/java/PagerGridLayoutManager.java水平分页网格布局管理器。
/java/PagerGridSnapHelper.java滚动辅助工具。
/java/PagerConfig.javaPager配置,用于开关调试日志。
4. 使用方法
4.1 基本用法
4.1.1 基本设置
// 1.水平分页布局管理器
PagerGridLayoutManager layoutManager = new PagerGridLayoutManager(
2, 3, PagerGridLayoutManager.VERTICAL);
recyclerView.setLayoutManager(layoutManager);
// 2.设置滚动辅助工具
PagerGridSnapHelper pageSnapHelper = new PagerGridSnapHelper();
pageSnapHelper.attachToRecyclerView(recyclerView);
<