1. 程式人生 > >瀑布流,下拉重新整理、上拉載入更多

瀑布流,下拉重新整理、上拉載入更多

前言:由於專案需要,經理喊我做一個瀑布流的檢視,在網上找了幾個目前主流的幾個瀑布流解決方案。最後分別研究了各自的解決方案,我選擇了StageredGridView。大家可以在github上找到。但是最後我發現用StageredGridView來實現下拉重新整理、上拉載入更多很不方便,並且StageredGridView在很多功能上還不完善。思前想後,幾經周折我還是在StageredGridView上找到了突破口。

目標:由於下拉重新整理、上拉載入更多,網上已經於很多的相關解決方案,我研究了這些解決方案,發現一個共同點,都是在ListView、GridView、ScrollView上做的處理。包括目前github上有個專案叫PullToRefresh的,可以直接使用在ListView、GridView、ScrollView,在StageredGridView上就不適用了。想了一下,如果能做一個這樣的控制元件,任意View(如:LinearLayout,)放在其中,都能很方便的實現此功能,那該多好啊。故我想了一套解決方案,希望大家一起來探討,指教。

方案:在一個RelativeLayout中,先放上5個佈局(當然可以是任意的,我選擇的是LinearLayout)。如下圖所示:


在這樣的方案下,我分別測試了StageredGridView,SrcollView。都可以達到預期效果,由於專案緊就沒有過多的測試其他檢視,這也是我拿出來討論的目的,希望大家一起來完善。

例項效果:下面是我測試StageredGridView的效果圖。

初始化介面


下拉過程中

提示可以更新

更新中

提示上拉載入

釋放載入更多

載入中

還可以左拖

也可以右拖

原始碼:resource