繼續(xù)討論一下如何實(shí)現(xiàn)手機(jī)QQ里那個增強(qiáng)版的ExpandableListView效果,如下圖:
Android缺省的ExpandableListView的group header無法固定在界面上,當(dāng)向下滾動后,不能對當(dāng)前顯示的那些child 指示出它們歸屬于哪個group,而這一點(diǎn),在iphone中的tableview就做的非常好。
所以,我們來做一個固定在列表上方的提示框,顯示當(dāng)前顯示的展開的那些child歸屬的group信息。
思路:
1. 先弄一個TextView作為指示器放在ListView的上面,跟列表上緣平齊。
2. 處理列表的上下滾動回調(diào):
就這樣了,是吧?
一切就這么簡單,然后看看它放的位置是:
我為了省事,直接從TextView中派生出這個指示器,其實(shí)你可以更復(fù)雜點(diǎn),從一個ViewGroup之類的東西來做出更多的效果。
細(xì)心的朋友可以發(fā)現(xiàn)了,在QQ中,當(dāng)上移列表時,有一個效果是下一個group header將指示器給推出屏幕的,圖省事,我沒這樣做,留給兄弟你去擴(kuò)展了。
此外,反編譯QQ的代碼可知,其實(shí)它的實(shí)現(xiàn)是自己做了一個叫 IphoneTreeView的類,繼承了ExpandableListView,這樣做更靈活也更好,同樣,如果要實(shí)現(xiàn)更完美的效果,還有很多事情要做的。
最近想學(xué)習(xí)一下iphone的開發(fā),有點(diǎn)沒動力繼續(xù)寫這個題目了。所以,只是在這兒拋磚引玉罷了,如果你們做出了更好的效果,請拿出來共享。
先謝謝了!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
