一骂维、本項(xiàng)目完成的功能
1.在上次作業(yè)類微信app中的一個(gè)可切換頁(yè)面中實(shí)現(xiàn)下述功能
2.用列表顯示若干個(gè)男歌手惹资,女歌手和組合歌手,以及他們的分組名
3.實(shí)現(xiàn)頂部懸浮功能航闺,即向上滑動(dòng)展示下面的內(nèi)容時(shí)褪测,分組名可以在頂部懸浮猴誊,直到該分組內(nèi)容向上滑動(dòng)退出屏幕頁(yè)面,分組名跟隨分組內(nèi)容退出屏幕頁(yè)面
二侮措、項(xiàng)目的具體步驟
1編寫布局文件xml懈叹,此處需要修改一個(gè)xml文件,增加兩個(gè)xml文件
在上次作業(yè)中的tab02.xml文件中分扎,刪除TextView澄成,拖入RecyclerView,此時(shí)系統(tǒng)會(huì)自動(dòng)導(dǎo)入RecyclerView相關(guān)的依賴包畏吓,稍等片刻等其導(dǎo)入完畢墨状。再新建兩個(gè)item.xml文件,內(nèi)容為TextView庵佣,用來(lái)顯示分組名和分組內(nèi)容歉胶。
2編寫java文件汛兜,此處需要修改一個(gè)java文件巴粪,增加兩個(gè)java文件
在上次作業(yè)中的frdFragment文件中,重新編寫有關(guān)函數(shù)粥谬,新建initList函數(shù)向列表中插入文字信息肛根,新建initData函數(shù)通過拆分上述列表中的文字信息,向StickyData類中寫入數(shù)據(jù)漏策。新建addOnScrollListener函數(shù)實(shí)現(xiàn)吸頂效果派哲,最后在主函數(shù)中依次實(shí)現(xiàn)這些方法即可。
新建適配器adapter.java文件掺喻,這里通過implement加入幾個(gè)必要的方法芭届,根據(jù)實(shí)際需求重寫這些方法即可。最后寫一個(gè)簡(jiǎn)單的StickyData類感耙,作為frdFragment中使用數(shù)據(jù)的接口褂乍。這里頁(yè)面控制文件frdFragment.java和adapter.java文件是必須要有的。
三即硼、出現(xiàn)的問題及解決方法
此處報(bào)紅原因是findViewById方法只能被用在Activity類逃片,此處是Fragment類。
解決辦法:在此之前使用onCreateView來(lái)創(chuàng)建視圖只酥,返回一個(gè)View對(duì)象褥实,使用View對(duì)象中的findViewById方法。如下圖:
四裂允、效果展示
五损离、代碼實(shí)現(xiàn)
代碼倉(cāng)庫(kù)地址:https://gitee.com/lookevin/sticky-design