youlookwhat / ByRecyclerView

🔥 RecyclerView 下拉刷新、上拉松手/自动加载更多、item点击/长按、item局部刷新、头布局/尾布局/状态布局、万能分割线、Skeleton骨架图、极简adapter、嵌套滑动置顶
https://youlookwhat.github.io/ByRecyclerView
Apache License 2.0
798 stars 139 forks source link

是否支持只显示动画,不触发listener #3

Closed qiushui95 closed 4 years ago

qiushui95 commented 4 years ago

我的刷新状态会保存在ViewModel中,需要只展示动画

youlookwhat commented 4 years ago

我刚看了实现,且认为你指的是下拉刷新的动画,展示动画的条件是:既打开了下拉刷新的开关&实现了下拉刷新的接口,所以显示显示动画时一定会触发Listener。 如果你现在有这个需求,我可以修改一下,实现只显示动画,不触发listener的效果,不过你要自己设置recyclerView.setRefreshing(false);,来关闭动画。你觉得是否是你想要的,如果是的话,我就修改一下。

qiushui95 commented 4 years ago

我只是给你提一下建议,目前还没有接入贵库,还在观望中。还是感谢您的开源。刷新以及加载更多都需要类似的setRefreshingWithoutListener

youlookwhat commented 4 years ago

因为如果可以不设置listener而进行下拉操作,那么使用者会监听不到这个行为,从而就不知道什么时候取消动画,感觉实际意义不大,所以没考虑到这个,实现起来倒不难。 如果你实际真有这个需求,我可以修改这部分的逻辑,因为这样的需求暂时还没遇到。 谢谢你给的建议。

qiushui95 commented 4 years ago

不是手动的进行下拉操作,我已经调用数据请求之后,然后才通知界面显示刷新。因为我的刷新状态全部保存在ViewModel之中,这样不会丢失状态。比如两个Fragment共用一个ViewModel的刷新状态,比如刷新需要5s,A已经进行刷新操作,这时候切换到B页面,就不需要手动刷新触发刷新逻辑,只需要展示刷新动画。

youlookwhat commented 4 years ago

可以,我等下把这部分逻辑完善一下,然后再发布一版👌

youlookwhat commented 4 years ago

感谢提意见,如果对这个架子有兴趣可以Star支持一下😁 这个架子已经运用到我们自己的项目了,我会慢慢完善,之后会推广~

qiushui95 commented 4 years ago

还有,加载更多的逻辑,能否加一个阈值,滑动到倒数第几个就加载,现在应该是最后一个。我想要那种比如倒数第三个就开始加载下一页,这样,用户就会无感知的使用,效果好一点

youlookwhat commented 4 years ago

BRVDH就有这种效果,无感知加载,这个库有一部分是为了区别它存在的,因为设计讲究[所见即所得],看到加载效果后再显示数据。 不过可以考虑这个需求,作为一种配置项也不失为一种选择。

qiushui95 commented 4 years ago

嗯,行

youlookwhat commented 4 years ago

@qiushui95 【支持只显示动画,不触发listener 】已加入,只需要打开下拉刷新开关即可mRecyclerView.setRefreshEnabled(true);