在開發當中,秉承着“高類聚低耦合”的編程思想,我們通常會對複雜的業務或者一些邏輯做拆分拆解或抽取複用等處理,提高代碼可閱讀性高,降低維護成本。
RecyclerView多條目“組件化”,主要是通過delegate委託的方式對多條目做了“組件化”思想拆分處理,對adapter進行簡化,佈局的設定與數據綁定都放到具體的delegate來實現。
adapter只需要添加具體delegate即可,具體的匹配邏輯都放在了委託類ItemViewDelegateManager,這樣更提升了代碼的簡潔性和靈活性,以便於後期的維護與拓展。
RecyclerViewDivider也做了升級,向着萬能分割線邁進,支持分割線前、後、全包、全不包以及跳過n行不繪製分割線等定製化需求,兼容了GridLayoutManager網格佈局的支持。
項目裏自定義了一個廣告欄通知控件NoticeView,向上滾動的樣式,使用時爲了避免性能消耗,應在頁面不可見或列表滾出屏幕時停止滾動,可見時再繼續滾動。
MyApplication裏設置的日誌打印開關用的是自動獲取debug模式,以取代了人爲的變量修改,避免因遺漏帶來的不必要麻煩
具體代碼請移步GitHub。