🔥 A custom view pull to refresh,support ScrollView,ListView,RecyclerView,WebView and all another views, easy to use
Switch branches/tags
Nothing to show
Clone or download
Ke Xiao
Ke Xiao disable demo12
Latest commit 2a64bf3 Sep 18, 2018


More, please visit:My CSDN     apk demo:download     中文文档:中文文档


SpringView is one provides the function of the upper and lower drag and drop components, can be highly customized, implement all kinds of drop-down \ pull painting effect, implementation in the demo: imitation ali travel, imitation Meituan, imitation QQ drop-down brush red envelopes, imitation acfun etc., is fully compatible with the source control such as ListView, RecyclerView, ScrollView, WebView, etc., using a simple, easily customize their style of drag and drop page 这里写图片描述

SpringView Individual independence will head/foot, almost achieve the effect of whatever you want, just need to inherit BaseHeader (or Footer) to implement the interface

SpringView Can dynamically replace the head/tail, you just need to set up different Footer:springView.setHeader(MyHeader());

SpringView Multi-touch support, can two hands drag and drop in a row, you can customize some interesting results

SpringView Provides two methods for drag and drop (overlap and follow), can be dynamically switching

SpringView For lazy people don't want to go to the custom head/tail provides 7 kinds of the default implementation (mimics the ali, tencent, Meituan etc. Various style) as follows, will continue to increase

SpringView support AppBarLayout

这里写图片描述 这里写图片描述 这里写图片描述 这里写图片描述 这里写图片描述 这里写图片描述 这里写图片描述



How to use SpringView

Add Spring View in the layout file, note that Spring View and ScrollView have the same limitation: only one child element:


            <ListView RecyclerView ScrollView or others


Of course, you can also add the header/footer in java code:

	springView.setHeader(new DefaultHeader(this));
	springView.setFooter(new DefaultFooter(this));

Add Listener

If you need to deal with the case, just add a listener in code:

springView.setListener(new SpringView.OnFreshListener() {
      public void onRefresh() {
      public void onLoadmore() {

Get SpringView

use Gradle:

dependencies {

   //SpringView core library (only include DefaultHeader/Footer)
   implementation 'com.liaoinstan.springview:library:1.5.1'

   //other Headers/Footers, choose one or more that you like
   implementation 'com.liaoinstan.springview:AcfunHeader:1.5.1'         //AcFun style (header and footer)
   implementation 'com.liaoinstan.springview:AliHeader:1.5.1'           //alitrip style (header and footer)
   implementation 'com.liaoinstan.springview:MeituanHeader:1.5.1'       //meituan style (header and footer)
   implementation 'com.liaoinstan.springview:RotationHeader:1.5.1'      //mechanical gear style (header and footer)
   implementation 'com.liaoinstan.springview:WeixinHeader:1.5.1'        //weichat Mini Program header(only header)

or Maven:


Update log


  • fix bug when nested layout, fix bug callFresh() can't spring back when set SpringView Give.NONE.


  • headers /footers split off from SpringView library(except DefaultHeader/Footer),simplified core library,now core library's size only 26KB,You can import headers/footers separately


  • new function setMovePara(),a new header for weixin:WeixinHeader,a new type DRAG like SwipeRefreshLayout:spring.setType(Type.DRAG)


  • Optimize several experiential issues,Added onFinishFreshAndLoadDelay(int delay), callFreshDelay(int delay) method,Optimizing performance with BottomSheetBehavior,Optimize the performance used in BottomSheetDialog


  • fix the bug of the linkage damping of AppBarLayout in the case of null data, new setEnableFooter(Boolean), setEnableHeader(Boolean) disable or enable header/footer.


  • support AppBarLayout,fix sliding conflict


  • bug fix


  • padding bug fix


  • add setEnable(boolean) function


  • add callFresh() method, used to call the refresh operation manual
  • fixes the lateral sliding conflict


  • repair the callback refresh many times


  • repair the click event occasional failure problem


If there are any questions or Suggestions, please feedback to my email: liaoinstan@outlook.com; Or in my blog

If it works to you, please give me a star for my hardwork ,thank you


More, please visit:my CSDN blog