多种下拉刷新效果、上拉加载更多、可配置自定义头部广告位:BGARefreshLayout-Android

jopen 9年前

无侵入式的下拉刷新和上拉加载更多,可对ListView、RecyclerView、ScrollView、普通View添加各种下拉刷新样式和自定义HeaderView。

目前已经实现了三种下拉刷新效果:

  • 新浪微博下拉刷新风格(可设置背景、各种状态是的文本)
  • 慕课网下拉刷新风格(使用时可设置其中的logo和颜色成自己公司的风格)
  • 类似qq好友列表黏性下拉刷新风格(三阶贝塞尔曲线没怎么调好,刚开始下拉时效果不太好)

一种上拉加载更多效果

  • 新浪微博上拉加载更多(可设置背景、状态文本)

大家也可以继承BGARefreshViewHolder这个抽象类,实现相应地抽象方法做出格式各样的下拉刷新效果【例如实现handleScale(float scale, int moveYDistance)方法,根据scale实现各种下拉刷新动画】和上拉加载更多特效,可参考BGAMoocStyleRefreshViewHolder、BGANormalRefreshViewHolder、BGAStickinessRefreshViewHolder的实现方式。

目前存在的问题

  • 当配置自定义头部广告位可滚动时,内容区域和广告位还不能平滑过度。
  • 当RecyclerView的LayoutManager为StaggeredGridLayoutManager时,不知道怎样判断是否滚动到了顶部(处理下拉刷新)或者底部(处理上拉加载更多)。

效果图

Image of GridView示例 Image of 普通ListView示例 Image of 普通RecyclerView示例 Image of 滑动ListView示例 Image of 滑动RecyclerView示例 Image of ScrollView示例 Image of NormalView示例

Gradle

dependencies {      compile 'com.android.support:recyclerview-v7:22.1.1'      compile 'com.nineoldandroids:library:2.4.0'      compile 'cn.bingoogolapple:bga-refreshlayout:1.0.0@aar'  }

Demo中使用到了另外三个库

详细用法请查看Demo:feet:

项目主页:http://www.open-open.com/lib/view/home/1432883341879