Android-推荐一个智能刷新库SmartRefreshLayout

图片来源于网络

分享一个我日常开发当中,经常使用到的开源库。几乎所有的的列表都会有刷新需求,好的刷新交互可以大大提升用户的体验感。这个库有很多特点:

  • 支持多点触摸
  • 支持淘宝二楼和二级刷新
  • 支持嵌套多层的视图结构 Layout (LinearLayout,FrameLayout...)
  • 支持所有的 View(AbsListView、RecyclerView、WebView....View)
  • 支持自定义并且已经集成了很多炫酷的 Header 和 Footer.
  • 支持和 ListView 的无缝同步滚动 和 CoordinatorLayout 的嵌套滚动 .
  • 支持自动刷新、自动上拉加载(自动检测列表惯性滚动到底部,而不用手动上拉).
  • 支持自定义回弹动画的插值器,实现各种炫酷的动画效果.
  • 支持设置主题来适配任何场景的 App,不会出现炫酷但很尴尬的情况.
  • 支持设多种滑动方式:平移、拉伸、背后固定、顶层固定、全屏
  • 支持所有可滚动视图的越界回弹
  • 支持 Header 和 Footer 交换混用
  • 支持 AndroidX
  • 支持横向刷新

集成依赖

核心依赖

implementation  'com.scwang.smart:refresh-layout-kernel:2.0.1' 

刷新头部可选依赖

// 经典刷新头
implementation  'com.scwang.smart:refresh-header-classics:2.0.1'  
// 雷达刷新头
implementation  'com.scwang.smart:refresh-header-radar:2.0.1'     
 // 虚拟刷新头
implementation  'com.scwang.smart:refresh-header-falsify:2.0.1'    
// 谷歌刷新头
implementation  'com.scwang.smart:refresh-header-material:2.0.1'   
 //二级刷新头
 implementation  'com.scwang.smart:refresh-header-two-level:2.0.1'  

刷新底部可选依赖

// 球脉冲加载
implementation  'com.scwang.smart:refresh-footer-ball:2.0.1'   
 // 经典加载
implementation  'com.scwang.smart:refresh-footer-classics:2.0.1'   

使用示例

1.全局配置刷新样式

SmartRefreshLayout.setDefaultRefreshHeaderCreator { _, _ -> MaterialHeader(this) }
SmartRefreshLayout.setDefaultRefreshFooterCreator { _, _ -> ClassicsFooter(this) }

2.XML使用

    

    

这样就是简单的使用方式,下面来分享一下常用的方法。

下拉刷新常用的方法

1.自动刷新:

refreshLayout.autoRefresh()

2.关闭刷新,一般在网络请求成功之后,我们可以主动关闭刷新:

refreshLayout.finishRefresh()

这两个是刷新最常用的方法,一般情况交互这两个方法就足够了。

上拉加载常用的方法

1.自动加载:

refreshLayout.autoLoadMore()

2.关闭加载,一般在网络请求成功之后,我们可以主动关闭加载:

refreshLayout.finishLoadMore()

3.设置列表没有更多数据,不让用户出发加载更多的操作:

refreshLayout.setNoMoreData(false)

false有更多的数据,true没有更多数据。

你可能感兴趣的:(Android-推荐一个智能刷新库SmartRefreshLayout)