1. 程式人生 > >關於在列表中條目過多時顯示更多,點選全部顯示的效果

關於在列表中條目過多時顯示更多,點選全部顯示的效果

先上要的效果圖吧~

圖片列表摺疊效果與點選後展開效果圖

拿到效果圖後的第一反應是 採用listView的不用型別的條目顯示,並對對相應的條目進行顯示(Visiable)與隱藏(gone)(第一類條目超過3個時就讓第3個位置顯示 顯示更多,並隱藏其他更多的第一類條目,點選第3個位置的條目,讓顯示更多隱藏,同時顯示更多的第一類條目,這樣就不用處理 position的偏移及錯亂問題)
但寫了之後,發現,用gone 處理了 子條目雖然不顯示了,但是在liestView中還是佔據著一個空白的條目位置。未能達到想要顯示的效果

後面還是對資料進行了處理,
1. 對 第一類條目資料,用一個oneTypeList進行儲存,判斷長度是否超過 3條,超過3條的進行切割處理, 用deletedList暫時儲存多餘的資料,
2. 在原始list中第3個位置插入條more資料,用於標識 顯示 顯示更多,3. 當點選時第3個條目時更改資料,清除第3個位置的more資料,從第三個位置個位置addAll (3,deletedList),直接notifyDataSetChange就能實現想要的效果。