標籤:定義 .com 自己的 github 滾動 重新整理 解決 教你 自訂
首先我們給出如下幾個參數,後面要用:
10年Android老司機教你打造獨一無二的重新整理載入架構
既然是重新整理,我們的滾動肯定是在 父view 之前的。所以我們需要在 onNestedPreScroll 這個方法裡面寫上我們所需要改動的x,y值。
我們需要用 父view 去攔截它。我們需要判斷 dy 的值是否大於0,因為大於0是重新整理操作,小於0是載入操作。然後我們需要判斷 recyclerview 是否是縱向的而不是橫向的。
10年Android老司機教你打造獨一無二的重新整理載入架構
上拉載入
上面我也說了 onNestedPreScroll 這個方法中判斷 dy<0 才是載入操作。所以綜上所述,代碼變成了這樣:
10年Android老司機教你打造獨一無二的重新整理載入架構
最後我們需要在 子view 滑動結束後,實行如下操作:
10年Android老司機教你打造獨一無二的重新整理載入架構
其實最主要的兩個方法已經解決了,其他到沒什麼了,這邊,我把 nestedscrolling 的8個介面的功能和自訂 recyclerview 放出來。已便大家參考。希望大家都能實現自己的重新整理載入。告別 swiperefreshlayout。
添加header和footer
這裡我們參考 listview 內建的 addheaderview 和 addfooterview。代碼如下:
10年Android老司機教你打造獨一無二的重新整理載入架構
幾個介面的實現:
10年Android老司機教你打造獨一無二的重新整理載入架構
10年Android老司機教你打造獨一無二的重新整理載入架構
自訂recyclerview
既然是自己寫的重新整理載入架構,總不能還有自訂 layout 中在放個 recyclerview。多麻煩,自訂一個,直接放在裡面,然後分別放個 header 和 footer,就沒必要每次有頁面用到重新整理都要寫一個布局。3個布局解決整個項目的重新整理和載入。話不多說,代碼如下:
10年Android老司機教你打造獨一無二的重新整理載入架構
10年Android老司機教你打造獨一無二的重新整理載入架構
這樣我們變實現了自己的重新整理載入架構,代碼我已上傳到github:
https://github.com/sw950729/SWPullRecyclerLayout
至於使用方法如下:
jcenter:
compile ‘com.angel:SWPullRecyclerLayout:1.0.0‘
maven:
10年Android老司機教你打造獨一無二的重新整理載入架構
依舊是那2句話。不管用什麼我們需要知道原理。還有就是有什麼不懂的提出來。可以一起討論。
更多
10年Android老司機教你打造獨一無二的重新整理載入架構
10年Android老司機教你打造獨一無二的重新整理載入架構