RefreshLayout
 Introduction:  项目特点支持 RecycView、Listview、ScrollView、各种布局控件实现下拉刷新和上拉加载;该项目的设计结构和整体业务逻辑清晰,各细节功能点的处理考虑全面;对项目的整体开发步骤以及所有晦涩难懂的点,都有详细注释,非常适合中高端工程师学习并进行二次开发
 Tags:  
Refresh-下拉刷新-上拉加载-google加载-RefreshLayout-项目特点
- 支持 RecycView、Listview、ScrollView、各种布局控件实现下拉刷新和上拉加载;
 - 该项目的设计结构和整体业务逻辑清晰,各细节功能点的处理考虑全面;
 - 对项目的整体开发步骤以及所有晦涩难懂的点,都有详细注释,非常适合中高端工程师学习并进行二次开发
 

APK 下载
Demo 使用
运行 demo 需删除 gradle.properties 中的代理
systemProp.http.proxyHost=dev-proxy.oa.com
systemProp.http.proxyPort=8080
systemProp.https.proxyHost=dev-proxy.oa.com
systemProp.https.proxyPort=8080
Gradle 配置
compile 'xiao.free.refreshlayout:refreshlayoutlib:v1.0.0'
XML 配置
<xiao.free.refreshlayoutlib.SwipeRefreshLayout
        android:id="@+id/swiperefreshlayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <include
            android:id="@id/swipe_refresh_header"
            layout="@layout/layout_classic_header" />
        <ListView
            android:id="@id/swipe_target"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:clipToPadding="false" />
        <include
            android:id="@id/swipe_load_more_footer"
            layout="@layout/layout_classic_footer" />
</xiao.free.refreshlayoutlib.SwipeRefreshLayout>
属性说明
| 属性 | 说明 | 
|---|---|
| refresh_enabled | 刷新使能 | 
| load_more_enabled | 加载使能 | 
| swipe_style | header 和 footer 模式 | 
| drag_ratio | drag 阻尼系数,越小越难拉动 | 
| refresh_trigger_offset | 触发刷新的偏移,默认为 header 高度 | 
| load_more_trigger_offset | 触发加载更多的偏移,默认为 footer 高度 | 
| refresh_final_drag_offset | 下拉最大偏移,默认为 0 | 
| load_more_final_drag_offset | 加载更多最大偏移,默认为 0 | 
效果图
如下图所示:

使用 bug 注意
| id 注意事项 | 
|---|
| xml 布局中 header 的 id 需定义为 swipe_refresh_header | 
| 目标 view id 需定义为 swipe_target | 
| xml 布局中 footer 的 id 需定义为 swipe_refresh_header | 
- 使用 BLOW 和 SCALE 模式时,ListView 或其 Item 需要有背景颜色,否则在这两种模式下会存在 bug
 

