仿京東、淘寶首頁 通過Tab的吸頂效果(方案一)

仿淘寶、京東首頁,通過兩層嵌套的RecyclerView實現(xiàn)tab的吸頂效果

目前NesteRecyclerView_V2(方案二)已更新,推薦。

NestRecyclerView_V2

聲明

本項目是根據(jù)下方作者的項目進(jìn)行改進(jìn)而來的,請先閱讀大佬的文章以了解其原理
https://github.com/JasonGaoH/NestedRecyclerView
https://juejin.im/post/5d5f4cfcf265da03e61b18b8


效果

示例.gif

附上項目地址 https://github.com/Ubitar/NestRecyclerView

對項目做出了如下修改:

1、使用Kotlin對代碼做出了精簡,同時改進(jìn)原文的部分變量名稱,更易懂
2、父RecyclerViewAdapter必須實現(xiàn)INestAdapter接口規(guī)范
3、添加setPreLoadHeight函數(shù)以控制RecyclerView可見范圍外的視圖預(yù)加載

其他詳情請看https://github.com/Ubitar/NestRecyclerView

常見問題

1、SmartRefresLayout作為最外層父組件且Tab欄為固定狀態(tài),下拉列表會觸發(fā)父組件的下拉刷新

我推薦監(jiān)聽外層NestRecyclerView的滾動高度來控制刷新框架是否開啟下拉刷新setEnableRefresh(Boolean)

2、怎么控制子RecyclerView是否滾動到了底部
         yourAdapter.setOnChildScrollEndListener { recyclerView, newState ->
            ToastUtils.showShort("滾動子RY到底部了")
            //這里可以加載更多數(shù)據(jù)
        }

可以參考demo中的adaptercreateChildRecyclerView的寫法判斷是否滾動到底部

3、實現(xiàn)起來好復(fù)雜

是有點復(fù)雜,雙RecyclerView貴在可以循環(huán)利用視圖,如果你的想要實現(xiàn)的業(yè)務(wù)功能不是很大,或許你可以考慮下這個大佬的庫http://m.itdecent.cn/p/0783b0a37fa1 只有億點點bug而已

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容