1、前言
????????還在為開發(fā)復(fù)雜界面需要寫無(wú)數(shù)findViewbyId而感到煩惱嗎?還在為需要控制界面的顯示隱藏而寫無(wú)數(shù)個(gè)無(wú)用的view而煩惱嗎?現(xiàn)在你可以使用RecyclerView來(lái)實(shí)現(xiàn)了,只需要簡(jiǎn)單的引用就可以實(shí)現(xiàn)各種復(fù)雜的界面,從而減少大量無(wú)用findViewbyId的書寫,提高我們的開發(fā)效率。具體實(shí)現(xiàn)代碼參照demo實(shí)現(xiàn),demo中有大致recyclerview 的使用方法:github地址
2、demo效果圖

????????如上演示圖,是我們開發(fā)中常見的界面開發(fā),這些我們都可以通過(guò)RecyclerView實(shí)現(xiàn),其中單布局和多布局的使用是直接使用了RecyclerView基本封裝就可以實(shí)現(xiàn),對(duì)應(yīng)RecyclerView的封裝網(wǎng)上有很多示例,有興趣的可以自行了解;然后懸浮標(biāo)簽是直接繼承RecyclerView.ItemDecoration實(shí)現(xiàn)的,而復(fù)雜布局是通過(guò)bean來(lái)驅(qū)動(dòng)界面,也就是一個(gè)類型的Item即為一個(gè)對(duì)象,從而更好的實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)界面開發(fā)。
3、使用方法
Gradle依賴
dependencies {
? ? ? ? ? ? implementation 'com.even:commonrv:1.0.2'
? ? }
????????如果對(duì)該實(shí)現(xiàn)方法有興趣的話,可以直接添加上面的gradle依賴,然后就可以直接使用了,具體的使用方法在github中有說(shuō)明,可以參照GitHub的實(shí)現(xiàn):https://github.com/panyiyiyi/RecyclerViewDemo
4、注意事項(xiàng):
????????單布局的話就直接使用BaseRecyclerAdapter即可簡(jiǎn)單實(shí)現(xiàn),但是在多布局的時(shí)候需要主要的是,布局的layoutIds的下標(biāo)需要和getItemType的順序相同,? ? 而且getItemType的順序應(yīng)該從0開始,因?yàn)樵趏ncreateViewHolder的時(shí)候是從layout的數(shù)組中去通過(guò)itemType來(lái)獲取的,如果不一致必將引起錯(cuò)誤。
????????使用懸浮標(biāo)題的時(shí)候直接addItemDecoration()即可,但是這里需要傳入一個(gè)標(biāo)題的ViewType,這個(gè)必須和標(biāo)題的ViewType相同;最后即是復(fù)雜布局,這里只要所有的bean都繼承BaseListPagerBean即可,然后在這里實(shí)現(xiàn)各種界面的顯示效果,從而極大的減少findviewByID的使用,只需要控制數(shù)據(jù)源就能夠?qū)崿F(xiàn)界面的顯示效果,極大的實(shí)現(xiàn)了數(shù)據(jù)驅(qū)動(dòng)界面的思想。