Open scwang90 opened 7 years ago
希望能加上上拉加载更多的时候,如果没有更多数据了,就一直显示加载的布局,并且显示没有更多了,这样的功能真的是非常常见,非常刚需的,依靠其他的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还不能完全满足需求
横向刷新,比如 左拉刷新或者右拉刷新.
请增加可定制的下来刷新功能:根据下拉高度,决定头部gif当前的帧数。 比如,一个圆形进度条,根据下拉高度,显示进度条的百分比。 我可能说的不是很清楚,表达能力有限,这种效果很多应用都有,比如YY的下拉刷新效果。
在下拉刷新状态下,列表内容可以滑动,但是header不能跟随滑动,这种情况比较符合逻辑,请考虑。谢谢
嵌套布局时,如果有上拉的话,顶部布局会跟随滚动,希望可以提供不让布局移动的方法。
在下拉刷新与上拉刷新时可能网络问题导致时间长,用户滑动列表查看其它数据后,在进行下拉刷新或上拉加载更多时没有粘性与拉动的效果,这个可以优化下吗
可以做个类是天猫商品搜索,上拉加载更多时预加载的功能吗
希望可以添加结束刷新的功能,并且结束刷新之后可以马上启动刷新。大致的期望是如下代码可以正常工作:
autoRefresh();
finishRefresh();
autoRefresh();
目前的效果是:第二次刷新操作并不会执行。看了下代码可能是finishRefresh内部使用View.post()造成的。
setOnMultiPurposeListener 这个监听需要复写10个方法,代码太多了 建议是需要复写什么方法,使用者自己去复写,不用全部
最直观的例子: 很多类只有下拉刷新,每个类需要处理的逻辑不同,那每个类都需要重写不需要的 foot 相关监听 代码多很多
可以实现未滚动到最底部 自动加载更多么?就是离滚动底部 还有断距离 加载更多
建议 readme 中 将“简单用例” 放在效果演示上面 合适的位置 这样就不用每次忘下翻半天看有没有新版了
建议不要在上拉回弹的时候拦截点击事件,这样回弹之后没有完成时布局中的点击事件全部失效
上面是1.0.4-7中的SmartRefreshLayout 中的 dispatchTouchEvent方法,在action up 和action cancel时如果判断是松手就会return true拦截点击事件
可不可以设置触发下拉刷新的 的条件
希望能够把 经典 的类型剥离出来,SmartRefresh功能越来越多,但是也越来越臃肿了,一个刷新的控件都达到了9M多的apk。
有没有考虑多加几种上拉加载的样式?
添加有滑动删除按钮的功能~
可否添加一个状态为加载完成状态。底部出现一行字为加载完成
我觉得可以写个全局代码配置,比如我想他能自动加载更多,没有更多的界面是自动显示fotter 这样的设置,不想每一个都要写。
@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
希望可以添加结束刷新的功能,并且结束刷新之后可以马上启动刷新。大致的期望是如下代码可以正常工作:
autoRefresh(); finishRefresh(); autoRefresh();
目前的效果是:第二次刷新操作并不会执行。看了下代码可能是finishRefresh内部使用View.post()造成的。
作者回复:不管是 autoRefresh 还是 finishRefresh 都有一个动画过程,需要时间,不可能立即完成的,而且你这样的应用场景实在想不到什么情况会用到,像这样特别的功能你真的必要,建议自己重写SmartRefreshLayout 的子类来实现,作者是不会为了小众需求而去动整体设计的
我现在遇到的就是结束加载更多 立马调用刷新就不行,列表上面有个筛选 当在结束加载更多的时候就不能立马调用刷新,这逻辑是有问题的
作者是否考虑过把这个库迁移到flutter平台上
加载失败后,”加载失败,点击重试“常驻底部,点击文案后重新loadMore。产品需求,呜呜呜,可否支持,或者是否已有功能可以支持
setLoadmoreFinished
和finishLoadmore
方法的命名有迷惑性,建议更换。
不好意思,项目里面用的老版本,我刚发现。已升级,多谢!
仿淘宝二楼的设计是否包含有二楼高度非全屏的情况吗,如果没有的话,是否考虑添加
public static String REFRESH_FOOTER_PULLUP = "上拉加载更多"; public static String REFRESH_FOOTER_RELEASE = "释放立即加载"; public static String REFRESH_FOOTER_LOADING = "正在加载..."; public static String REFRESH_FOOTER_REFRESHING = "正在刷新..."; public static String REFRESH_FOOTER_FINISH = "加载完成"; public static String REFRESH_FOOTER_FAILED = "加载失败"; public static String REFRESH_FOOTER_ALLLOADED = "没有更多数据了";
建议支持下英文
阅读了源码,作者很强大,多年的维护辛苦啦! 项目没有其他需求,下拉刷新使用的最简单的模式,连文字都没有,只有两个图标。
但使用起来还是有厚重感,看了主类大概有三千行左右的代码,想问作者还有精减的空间嘛
希望能加上上拉加载更多的时候,如果没有更多数据了,就一直显示加载的布局,并且显示没有更多了,这样的功能真的是非常常见,非常刚需的,依靠其他的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
默认的footer。自己没有设置。但是加载完成,设置了这几个属性,还是没有(没有更多数据)的提示。依然能上拉加载。现在有这个功能吗?没数据下面固定显示没有更多数据了。
直接开说了,我看了半天没发现有这样的一个功能,header 可以默认展开一定的布局(场景留出header 的位置,同时可以下拉加载更多这种(目的:下拉刷新起点在顶部,但是回到刷新完成的状态是内容区域在title布局下面))表达不是很清楚。
一直在用 SRL,有充分的回调参数,十分方便。 只是,越界回弹的动画效果,能不能照搬 yalantis 的 taurus 的呢? 目前 SRL 默认的回弹效果 特别生硬。taurus 是我找到的最像 iOS、使用感受最好的一个了。
所以想打听一下,后续会不会有呢?
有两点: 一:建议提供通过【java代码】【动态】【绑定 and 解绑】【srlFixHeaderViewId】和【srlFixFooterViewId】的方法。
虽然可以通过ids.xml与xml预先绑定能够解决,但感觉有点怪怪的,没有通过java代码动态绑定的舒服
二:感觉既是建议也是一个bug,或者说是一个改进点比较恰当,个人比较疑惑,所以就在这里提出了
主要涉及方法: (1)public RefreshLayout setRefreshContent(@NonNull View content) (2)public RefreshLayout setRefreshContent(@NonNull View content, int width, int height)
这个是个人用于实现上面第一点时发现的,虽然可以实现,但是只能调用一次,否则会出bug,看代码发现,每调用一次,就嵌套层级加深至少一次,而且更改了原有布局xml的结构及children集合。
建议换一种方式实现fix效果,并且不改变layuot xml结构,也不会因上述两个方法逐次加深嵌套层级。
建议在RefreshInternal#onMoving(boolean isDragging, float percent, int offset, int height, int maxDragHeight)方法上添加一个参数(或者其他能区分的方式)用于区分这两种情况:a.用户拖动触发刷新,b.autoRefresh等方法触发刷新。
目的在于实现不同的刷新效果:a.实现平移布局展示(有交互感) b.透明度变化展示效果(无需交互)
效果类似于,SwipeRefreshLayout用户推动是平移效果,调用setRefreshing(true)是渐变放大的效果
--------------------------------- PR分割线 ----------------------------------------
实现效果如下(PR提交代码实现的效果,不包括MaterialHeader的改动): 第一次刷新:手动拖拽触发刷新效果。 第二次刷新:调用autoRefresh触发的刷新效果。
注:两种效果可以通过刷新头部控件的开关控制
SmartRefreshLayout升级v2.0了,横向扩展没有一起升级,一块处理下吧!手动点赞
header或者footer能否考虑增加用lottie实现动画的方式,这样更换起来就更简单了😄
header或者footer能否考虑增加用lottie实现动画的方式,这样更换起来就更简单了😄
直接自定义header或footer 里面用上lottie就好了呀
现在header, footer只能设置纯色,能否支持渐变背景?
MaterialHeader建议可以根据下拉距离实现渐变颜色
请增加可定制的下来刷新功能:根据下拉高度,决定头部gif当前的帧数。 比如,一个圆形进度条,根据下拉高度,显示进度条的百分比。 我可能说的不是很清楚,表达能力有限,这种效果很多应用都有,比如YY的下拉刷新效果。
作者回复:自定义 Header 功能已经有了哈,请不要提出已有功能!
想问一下大佬,这个在那个header里面
请增加可定制的下来刷新功能:根据下拉高度,决定头部gif当前的帧数。 比如,一个圆形进度条,根据下拉高度,显示进度条的百分比。 我可能说的不是很清楚,表达能力有限,这种效果很多应用都有,比如YY的下拉刷新效果。
作者回复:自定义 Header 功能已经有了哈,请不要提出已有功能!
想问一下大佬,这个在那个header里面
大佬好,已解决谢谢~~~
在下拉刷新状态下,列表内容可以滑动,但是header不能跟随滑动,这种情况比较符合逻辑,请考虑。谢谢
作者回复:你说的这个逻辑是老式的刷新啦,效果看起来死板,现在的刷新都是Header跟随列表一起滚动的,github 上多个有名的 刷新库都是这样的。本建议不会被采纳。
我觉得“下拉刷新状态下,列表内容可以滑动,但是header不能跟随滑动”是更加合理的,如果跟随列表滑动,那么滑动过程用户不知道什么时候加载完成了,这时候数据返回更新列表的话,可能会有问题,我的建议:添加开关配置header是否跟随滑动,如果跟随滑动,可以再添加一个配置,滑动后是否取消本次刷新回调
大佬 上拉预加载 功能有吗? (当前页总数10 第一个开始上拉可以到据到底部item 还有几个的时候提前无感加载 )
希望可以添加结束刷新的功能,并且结束刷新之后可以马上启动刷新。大致的期望是如下代码可以正常工作:
autoRefresh(); finishRefresh(); autoRefresh();
目前的效果是:第二次刷新操作并不会执行。看了下代码可能是finishRefresh内部使用View.post()造成的。
作者回复:不管是 autoRefresh 还是 finishRefresh 都有一个动画过程,需要时间,不可能立即完成的,而且你这样的应用场景实在想不到什么情况会用到,像这样特别的功能你真的必要,建议自己重写SmartRefreshLayout 的子类来实现,作者是不会为了小众需求而去动整体设计的
我现在遇到的就是结束加载更多 立马调用刷新就不行,列表上面有个筛选 当在结束加载更多的时候就不能立马调用刷新,这逻辑是有问题的
希望可以添加结束刷新的功能,并且结束刷新之后可以马上启动刷新。大致的期望是如下代码可以正常工作:
autoRefresh(); finishRefresh(); autoRefresh();
目前的效果是:第二次刷新操作并不会执行。看了下代码可能是finishRefresh内部使用View.post()造成的。
作者回复:不管是 autoRefresh 还是 finishRefresh 都有一个动画过程,需要时间,不可能立即完成的,而且你这样的应用场景实在想不到什么情况会用到,像这样特别的功能你真的必要,建议自己重写SmartRefreshLayout 的子类来实现,作者是不会为了小众需求而去动整体设计的
autoRefresh(); finishRefresh(0); autoRefresh(); 这样试一试
我这里为了实现多点的下拉功能,不仅重新定制了一个header,还把作者刷新布局的源码改了,才实现了这个效果,但是也不是完全的相似,作者可以把这个功能加进去,看了下盒马和七鲜貌似都有类似的功能
通过setHeaderHeight和setHeaderTriggerRate设置刷新头高度为整屏-模拟可无限下拉时,释放刷新后到Refreshing状态时,会有一个回弹动画ValueAnimator animator = mKernel.animSpinner(mHeaderHeight),这里能否自定义Refreshing状态的动画位置高度或这个高度=触发下拉刷新的距离HeaderHeight*HeaderTriggerRate,不然看着很不合理
如果你对本库有什么功能建议可以在这里回复,点赞数高的回复将会被加入开发计划
以下内容会被直接删除
1.在这里问问题
2.建议已存在的功能