# SpringView
**Repository Path**: mirrors_liaoinstan/SpringView
## Basic Information
- **Project Name**: SpringView
- **Description**: 🔥 A custom view pull to refresh,support ScrollView,ListView,RecyclerView,WebView and all another views, easy to use
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2022-01-11
- **Last Updated**: 2026-01-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
更多请移步至:[我的CSDN博客](http://blog.csdn.net/liaoinstan/article/details/51023907) apk演示:[点击下载](https://github.com/liaoinstan/SpringView/blob/master/apk/DemoSpring-1.7.0-release.apk?raw=true) English document:[English document](https://github.com/liaoinstan/SpringView/blob/master/README.md)
SpringView
=====
**SpringView** 是一个提供了上下拖拽的功能组件,能够进行高度自定义,实现各种下拉\上拉动画效果,demo里实现了:仿阿里旅行、仿美团,仿QQ下拉刷红包,仿acfun等,完全兼容源生控件如ListView、RecyclerView、ScrollView、WebView等,使用简单,轻易定制自己风格的拖拽页面

**SpringView** 单独将头部/尾部独立出来,几乎可以实现任何你想要的效果,只需要继承BaseHeader(或Footer)实现接口
**SpringView** 能在运行时动态地替换头部/尾部,只需要设置不同的头尾即可:springView.setHeader(MyHeader());
**SpringView** 支持多点触控,可以两只手连续拖拽,你可以定制一些非常有趣的效果(例如demo5)
**SpringView** 提供了2种拖拽方式(重叠和跟随),可以动态地切换
**SpringView** 为不想去自定义头/尾的懒人提供了7种默认的实现(模仿了阿里,腾讯,美团等多种风格)如下,还会继续增加
**SpringView** 支持和 AppBarLayout 联动
 
 
 

**📌新增:**
 
 
**如何使用 SpringView**
--------
在布局文件中添加SpringView,注意SpringView和ScrollView有同样的限制:只能有一个子元素:
```
```
当然,你也可以不在布局中设置header\footer,使用代码动态添加:
```
springView.setHeader(new DefaultHeader(this));
springView.setFooter(new DefaultFooter(this));
```
**添加监听**
--------
如果需要处理的话,只需在代码中添加监听:
```
springView.setListener(new SpringView.OnFreshListener() {
@Override
public void onRefresh() {
}
@Override
public void onLoadmore() {
}
});
```
**获取SpringView**
--------
使用 Gradle:
```
dependencies {
//SpringView核心库 (只包含DefaultHeader/Footer)
implementation 'com.liaoinstan.springview:library:1.7.0'
//以下是各个风格的Header/Footer,选择自己喜欢的引入
implementation 'com.liaoinstan.springview:AcfunHeader:1.7.0' //AcFun风格 (header and footer)
implementation 'com.liaoinstan.springview:AliHeader:1.7.0' //阿里旅行风格 (header and footer)
implementation 'com.liaoinstan.springview:MeituanHeader:1.7.0' //美团风格 (header and footer)
implementation 'com.liaoinstan.springview:RotationHeader:1.7.0' //齿轮机械风格 (header and footer)
implementation 'com.liaoinstan.springview:WeixinHeader:1.7.0' //微信小程序header(只有header)
implementation 'com.liaoinstan.springview:DuHeader:1.7.0' //'毒'App header(只有header)
}
```
或者 Maven:
```
com.liaoinstan.springview
library
1.7.0
pom
```
**更新日志**
--------
#### **v1.7.0**
- 新增一个仿毒app的header (DuHeader),和一个自动滚动的Footer (AutoFooter)
- 新增SCROLL模式,基于这种模式可以实现滚动到底部自动加载等效果
- Header/Footer现在新增了setType()方法,你可以分别给Header和Footer设置不同的Type
- 修复一些Bug
#### **v1.6.0**
- 新增了仿新版微信(微信7)小程序效果的header (WeixinHeaderV2)
- SpringView的移动参数(MovePara)不再同时影响Header和Footer了,BaseHeader/Footer新增了getMovePara()接口,你可以分别为header和footer设置不同的移动参数以匹配不同的拖拽手感。(如果你没有实现该接口,SpringView仍然兼容以前的规则)
- 依赖更新到Android X
- 修复几个拖拽粘滞的问题,和callFresh方法回调的问题
#### **v1.5.1**
- 修复在SpringView内部嵌套布局无法滚动的bug,修复给SpringView设置Give.NONE熟悉时调用callFresh()无法正确回弹的问题。
#### **v1.5.0**
- 把所有的header和footer单独从SpringView库中分离出来了(除DefaultHeader/Footer),现在可以只选择单独导入自己想要的headers/footers,彻底精简后的SpringView library只有**26KB**,后期新增的header/footer都将以独立库的形式发布,不再冗余到SpringView核心库里,库链接参见上述[获取SpringView]内容
#### **v1.4.0**
- 新增setMovePara()方法用于设置拖拽时的阻尼系数,新增了一个WeixinHeader仿微信小程序header,新增新的模式:DRAG(拖拽模式),可以实现类似于SwipeRefreshLayout的交互效果,重新设计了overLap模式的实现方式,更加稳定,弃用了support过时api,优化拖拽流畅性和交互效果细节
#### **v1.3.3**
- 优化几个体验性问题,新增onFinishFreshAndLoadDelay(int delay),callFreshDelay(int delay)方法,优化和BottomSheetBehavior联用的表现,优化在BottomSheetDialog中使用的表现
#### **v1.3.2**
- 修复空数据情况下和AppBarLayout联动阻尼的bug,新增setEnableFooter(boolean),setEnableHeader(boolean)禁用或启用header/footer
#### **v1.3.0**
- 支持和 AppBarLayout 联动,修复滚动冲突的问题
#### **v1.2.7**
- 修复一些bug
#### **v1.2.6**
- 修复了内边距的失效的问题
#### **v1.2.5**
- 新增 **setEnable(boolean)** 方法,用于禁用/启用SpringView
#### **v1.2.4**
- 新增 **callFresh()** 方法, 用于手动调用刷新
- 修复了内置水平滑动控件的事件冲突
#### **v1.2.2**
- 修复了会多次回调刷新的问题
#### **v1.2.1**
- 修复点击事件偶尔失效的问题
**反馈**
--------
如果遇到问题或者好的建议,请反馈到我的邮箱:liaoinstan@outlook.com
或者在我的博客留言
如果觉得对你有用的话,点一下右上的星星赞一下吧
**更多**
--------
更多请移步至:[我的CSDN博客](http://blog.csdn.net/liaoinstan)