使用RecyclerView完成99%的界面開發(fā)

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)界面的思想。

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

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