SmartRefreshLayout
SmartRefreshLayout copied to clipboard
作者:建议收集
如果你对本库有什么功能建议可以在这里回复,点赞数高的回复将会被加入开发计划
以下内容会被直接删除
1.在这里问问题
2.建议已存在的功能
希望能加上上拉加载更多的时候,如果没有更多数据了,就一直显示加载的布局,并且显示没有更多了,这样的功能真的是非常常见,非常刚需的,依靠其他的baseadapter库去实现很烦人的,而在这个库里面应该实现起来要简单的多,谢谢,辛苦了
作者回复:该功能已经有了,请不要提出已有功能
refreshLayout.setLoadmoreFinish(true); //V1.0.0(1.0.5 删除)
or
refreshLayout.setNoMoreData(true);//V1.0.5
or
refreshLayout.finishLoadmoreWithNoMoreData();//V1.0.4
or
refreshLayout.finishLoadMoreWithNoMoreData();//V1.1.0
感谢开源灵活性这么好的库,只是希望可以添加类似淘宝二楼的二级刷新功能,目前的RefreshState还不能完全满足需求
作者:看到并喜欢的同学给本楼点赞!点赞数量决定是否开发本功能!
作者:2017-12-6 开发完毕,版本必须 1.0.4-2 以上,参考demo-淘宝二楼页面
横向刷新,比如
左拉刷新或者右拉刷新.
作者:水平左右拉动功能,并不是标准的刷新功能,应用情况也不多,这个功能不会被集成在库中。如果项目中有这样的需求,建议使用github的其他库解决
推荐:linuxjava/HorizontalRefreshLayout 29995270/HorizontalRefreshLayout
作者:最近(2019-2-13)我突发奇想,想到了 smart 旋转 90度, content 旋转 -90 度的方法来实现,这样就只需要做代码适配,不需要重新构建逻辑,并且完美兼容原有所有的 Header 和 Footer。所以又开源了一个 水平刷新库 SmartRefreshHorizontal 欢迎大家多多 star
请增加可定制的下来刷新功能:根据下拉高度,决定头部gif当前的帧数。 比如,一个圆形进度条,根据下拉高度,显示进度条的百分比。 我可能说的不是很清楚,表达能力有限,这种效果很多应用都有,比如YY的下拉刷新效果。
作者回复:自定义 Header 功能已经有了哈,请不要提出已有功能!
在下拉刷新状态下,列表内容可以滑动,但是header不能跟随滑动,这种情况比较符合逻辑,请考虑。谢谢
作者回复:你说的这个逻辑是老式的刷新啦,效果看起来死板,现在的刷新都是Header跟随列表一起滚动的,github 上多个有名的 刷新库都是这样的。本建议不会被采纳。
嵌套布局时,如果有上拉的话,顶部布局会跟随滚动,希望可以提供不让布局移动的方法。
作者回复:这个功能已经有了,参考demo-微博列表,请不要提出已有功能
在下拉刷新与上拉刷新时可能网络问题导致时间长,用户滑动列表查看其它数据后,在进行下拉刷新或上拉加载更多时没有粘性与拉动的效果,这个可以优化下吗
作者回复:正在加载或者刷新的时候效果就是故意这么设计的,不是bug,不存在再优化的问题
可以做个类是天猫商品搜索,上拉加载更多时预加载的功能吗
作者回复:自己的事情自己做哈,不要什么都依赖别人,这些和刷新无关的东西大家就不用再提了
希望可以添加结束刷新的功能,并且结束刷新之后可以马上启动刷新。大致的期望是如下代码可以正常工作:
autoRefresh();
finishRefresh();
autoRefresh();
目前的效果是:第二次刷新操作并不会执行。看了下代码可能是finishRefresh内部使用View.post()造成的。
作者回复:不管是 autoRefresh 还是 finishRefresh 都有一个动画过程,需要时间,不可能立即完成的,而且你这样的应用场景实在想不到什么情况会用到,像这样特别的功能你真的必要,建议自己重写SmartRefreshLayout 的子类来实现,作者是不会为了小众需求而去动整体设计的
setOnMultiPurposeListener 这个监听需要复写10个方法,代码太多了 建议是需要复写什么方法,使用者自己去复写,不用全部
最直观的例子: 很多类只有下拉刷新,每个类需要处理的逻辑不同,那每个类都需要重写不需要的 foot 相关监听 代码多很多
作者回复:本来就不用全部啊,使用方法看demo
可以实现未滚动到最底部 自动加载更多么?就是离滚动底部 还有断距离 加载更多
作者回复:建议自己实现
建议 readme 中 将“简单用例” 放在效果演示上面 合适的位置 这样就不用每次忘下翻半天看有没有新版了
作者回复:这个顺序并不是随意决定的,之前早就经过慎重考虑过的,不会改变
建议不要在上拉回弹的时候拦截点击事件,这样回弹之后没有完成时布局中的点击事件全部失效
作者回复:然而并没有拦截,请使用最新版本
上面是1.0.4-7中的SmartRefreshLayout 中的 dispatchTouchEvent方法,在action up 和action cancel时如果判断是松手就会return true拦截点击事件
作者回复:对于 action up 和action cancel 的拦截,最初是打算在 mIsBeingDragged=true 的时候会拦截,可能后来多次改动忘记了初衷, 1.0.5 版本已经更新算法,只有 mIsBeingDragged=true时会拦截
可不可以设置触发下拉刷新的 的条件
作者回复:可以自定义 canRefrsh,详情参考 功能自定义滚动边界
希望能够把 经典 的类型剥离出来,SmartRefresh功能越来越多,但是也越来越臃肿了,一个刷新的控件都达到了9M多的apk。
作者:Smart 的大小只有 139KB 而已,不要随便甩锅
有没有考虑多加几种上拉加载的样式?
作者:
1.本库的上拉加载体验并不好,不打算在上面多下功夫,建议使用Adapter实现的上拉加载功能
推荐:https://github.com/CymChad/BaseRecyclerViewAdapterHelper
2.非要使用本库的功能,又想使用各种样式的footer,可以看看这个文章
链接:https://www.jianshu.com/p/e4e8a41a75b6
添加有滑动删除按钮的功能~
作者:和刷新无关的功能是不会添加的
可否添加一个状态为加载完成状态。底部出现一行字为加载完成
作者:有了,去看文档,noMoreData
我觉得可以写个全局代码配置,比如我想他能自动加载更多,没有更多的界面是自动显示fotter 这样的设置,不想每一个都要写。
作者:1.0.0 版本早就有啦,看文档和常见问题和demo
@Override
public void onViewRemoved(View child) {
super.onViewRemoved(child);
}
@Override
public void onViewAdded(View child) {
super.onViewAdded(child);
}
建议对这两个 函数做下处理。比如在配合 LoadSir 使用时,可能导致界面不显示。
建议适配多语言。
希望有kotlin的版本。。。
你好 ,如果上拉加载到没有数据了,你这里现在是显示没有更多数据,如何替换成一张图片呢?
建议支持下996icu协议
finishRefresh()方法中建议不要加Delay操作,这样如果第一页数据就需要设置noMoreData的话设置不上,因为每次设置完noMoreData都会被finishRefresh方法给重置掉,因为finishRefresh方法在刷新成功后会调用resetNoMoreData方法,除非手动传入参数finishRefresh(false)但是这样用起来有点奇怪。
或者finishRefresh方法中加入noMoreData参数控制是否需要resetNoMoreData
作者:最开始设计的时候 finishRefresh 是不会重置noMoreData 的,需要自己调用 resetNoMoreData,但是后来很多用户反应,如果刷新成功 finishRefresh 应该具有重置功能,而不要用户去手动调用 resetNoMoreData。后来考虑许久决定给 finishRefresh 加上智能的判断,如果成功就重置。但是这样又和 resetNoMoreData 冲突。所以最后决定添加 finishRefreshWithNoMoreData 接口来弥补。所以 smart 建议用户刷新的时候 使用 finishRefresh 来重置或者 finishRefreshWithNoMoreData 来开启 NoMoreData。由于Smart 的内容识别功能 要求 delay 必须存在,不能去掉。
希望可以添加结束刷新的功能,并且结束刷新之后可以马上启动刷新。大致的期望是如下代码可以正常工作:
autoRefresh(); finishRefresh(); autoRefresh();目前的效果是:第二次刷新操作并不会执行。看了下代码可能是finishRefresh内部使用View.post()造成的。
作者回复:不管是 autoRefresh 还是 finishRefresh 都有一个动画过程,需要时间,不可能立即完成的,而且你这样的应用场景实在想不到什么情况会用到,像这样特别的功能你真的必要,建议自己重写SmartRefreshLayout 的子类来实现,作者是不会为了小众需求而去动整体设计的
我现在遇到的就是结束加载更多 立马调用刷新就不行,列表上面有个筛选 当在结束加载更多的时候就不能立马调用刷新,这逻辑是有问题的
作者是否考虑过把这个库迁移到flutter平台上
加载失败后,”加载失败,点击重试“常驻底部,点击文案后重新loadMore。产品需求,呜呜呜,可否支持,或者是否已有功能可以支持
setLoadmoreFinished和finishLoadmore方法的命名有迷惑性,建议更换。
作者:setLoadmoreFinished 两年前都已经删除了,你还在用?
不好意思,项目里面用的老版本,我刚发现。已升级,多谢!