android 辅助功能 翻页,Android RecyclerView自动翻页方案

本文介绍了如何为RecyclerView实现自动翻页功能,通过监听滑动状态和位置,优化加载时机,提升用户体验。在快速滑动后,通过调整监听事件到onScrolled()来解决延迟加载的问题。
摘要由CSDN通过智能技术生成

其实已经有很多上拉加载更多、或者滑动到底自动加载的自定义RecyclerView,这里所使用的方案是通用于RecyclerView的,目的就是为了提高代码复用

通常在app的列表中会使用分页加载数据,当用户停止滑动列表到达底部时会加载下一页数据;为了更好地用户体验,可以在列表停止滑动是会提前几个item加载下一页数据。

public static void setLoad(@NonNull RecyclerView recyclerView, final OnLoadCallback onLoadCallback) {

recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() {

int visibleLast = -1;

@Override

public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {

super.onScrollStateChanged(recyclerView, newState);

if(newState == SCROLL_STATE_IDLE){

RecyclerView.LayoutManager layoutManager = recyclerView.getLayoutManager();

if(layoutManager == null){

return;

}

if (layoutManager instanceof LinearLayoutManager) {

visibleLast = ((LinearLayoutManager) layoutManager).findLastVisibleItemPosition();

} else if (layoutManager instanceof StaggeredGridLayoutManager) {

int[] lastItemArr = ((StaggeredGridLayoutManager) layoutManager).findLastVisibleItemPositions(null);

if (lastItemArr.length > 0) {

visibleLast = lastItemArr[lastItemArr.length -

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值