RecyclerView再封裝,RecyclerView封裝
RecyclerView做為ListView的替代品,已經出了很久了,既然是替代品,那自然有些ListView沒有的優點。比如說:可以隨意切換list,grid,stagger。可以指定一個或多個item重新整理,而不再是全部重新整理。另外可以為每個item添加動畫,在體驗上更進一步。
但是也有不少“缺點”
關於API,以及RecyclerView的用法Stay就不多說了,網上都有。我們來討論討論,如何將RecyclerView真正投入到項目中去。
我們不願意使用新東西,一是怕有bug,二是怕不滿足需求,三是怕沒有現成的成熟的封裝類可以用,不想自己寫。
github上有很多基於RecyclerView的封裝,Stay覺得還不夠徹底。使用起來還是不夠方便。特別是UltimateRecyclerView,根本不叫封裝,簡直就是堆代碼,看起來功能強大,實際上能用到10%的樣式就不錯了。請勿使用這種代碼,功能越多,改起來就更複雜啊。
Stay理想的封裝模式是這樣的:
以上是Stay所想的封裝方式,沒有什麼高深的演算法,只是簡單的通過控制項的組合,API的靈活運用。當然如果你要支援drag,move,sticky-section-header,那就需要額外做工作了。但那些畢竟是少數,將業務需求中常用的UI形式進行封裝才是必要的。
沒錯,接下來,Stay要安利了。年前一直在籌備重錄快速搭建項目MaterialDesign版課程(第三遍),現在終於有心得有感悟的來錄製了。目前課程還在更新中,之前購買過課程的同學可以提前學習了。學封裝架構的思維方式,比看3個開源項目還有用。
雖說是收費課程,但絕對物有所值,比起那些API教學,Stay的課程有營養的多。我們不講某個具體API的調用,不講某個功能實現或者複雜的UI特效(這些可以google,可以找開源lib)我們講,如何去思考,站在使用者的角度去理解需求,站在PM的角度去把控項目,站在架構師的角度去設計整體結構。至於剩下的,相信我,都很簡單。