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

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