首先吐槽一下如今流行的刷新庫,一個字大,包涵我的不少集成到項目中不須要的類,也很難找到很滿意的效果(無痕過渡,回彈的效果不夠真實),因此本身本身動手豐衣足食,擼一個。
項目地址:github.com/genius158/P…
就這一個控件,能作到對全部基礎控件(包括,嵌套滑動例如RecyclerView、NestedScrollView,普通的TextView、ListView、ScrollerView、LinearLayout等)提供下拉刷新、上拉加載的支持,處理了橫向滑動衝突(例如:頂部banner的狀況) ,且實現無痕過分、邊界回彈,可設置多種loadingview的出現效果。
1.關於拖拽下拉刷新,loadingView出現方式(目前我的所見到的全部效果基本包涵以下)
header和footer的parentView都是FrameLayout,以上則都是經過控制Gravity來作到相關的效果
2.關於無痕過渡
支持嵌套滑動的控件都是用的嵌套滑動的相關作法,不支持的則是經過dispatchTouchEvent來作來實現滑動的實時監控。git
3.關於回彈
邊界回彈,這裏直接用的scroller來作判斷,這樣作,回彈動畫的相關數據準確性會更高github