10年Android老司機教你打造獨一無二的重新整理載入架構

來源:互聯網
上載者:User

標籤:定義   .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老司機教你打造獨一無二的重新整理載入架構

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.