ExpandableListView是可擴(kuò)展的下拉列表,它的可擴(kuò)展性在于點(diǎn)擊父item可以拉下或收起列表,適用于一些場景的使用。Android缺省的ExpandableListView的group header無法固定在界面上,當(dāng)向下滾動(dòng)后,不能對當(dāng)前顯示的那些child 指示出它們歸屬于哪個(gè)group,在網(wǎng)上搜了很多關(guān)于仿手機(jī)QQ好友分組效果的ExpandableListView,發(fā)現(xiàn)都不盡如意,于是乎在別人的基礎(chǔ)上改進(jìn)了一點(diǎn)點(diǎn),其實(shí)原理還是差不多的,只是增加了往上擠出去的動(dòng)畫效果,而且更加簡單,只不過還是沒有完全到達(dá)跟QQ一樣的效果。
ExpandableListView是ListView的子類。而expandable 在英文中的意思是可擴(kuò)展的,所以ExpandableListView就是一個(gè)可以擴(kuò)展的、有層級的ListView。ExpandableListView與ListView的區(qū)別在于,ExpandableListView 對列表項(xiàng)進(jìn)行了分組,每個(gè)分組中又可以顯示具體的子項(xiàng)目。就像QQ中的好友分組,我們登錄QQ之后,點(diǎn)擊聯(lián)系人就會(huì)顯示所有的好友分組,然后點(diǎn)擊某個(gè)分組,就可以展示這個(gè)分組中具體的聯(lián)系人,這種界面就可以用ExpandableListView 來實(shí)現(xiàn)。
ExpandableListView多項(xiàng)選擇展示的具體代碼;
1. 創(chuàng)建一個(gè)可展開可收縮的列表;
2. 其列表項(xiàng)包含多個(gè)checkable的部件,當(dāng)選擇某一行時(shí),該行包含的checkable的部件需要作出相應(yīng)的變化;
3. 可以選擇多個(gè)列表項(xiàng),并且這些列表項(xiàng)可被讀出