前言:由于项目需要,经理喊我做一个瀑布流的视图,在网上找了几个目前主流的几个瀑布流解决方案。最后分别研究了各自的解决方案,我选择了StageredGridView。大家可以在github上找到。但是最后我发现用StageredGridView来实现下拉刷新、上拉加载更多很不方便,并且StageredGridView在很多功能上还不完善。思前想后,几经周折我还是在StageredGridView上找到了突破口。
目标:由于下拉刷新、上拉加载更多,网上已经于很多的相关解决方案,我研究了这些解决方案,发现一个共同点,都是在ListView、GridView、ScrollView上做的处理。包括目前github上有个项目叫PullToRefresh的,可以直接使用在ListView、GridView、ScrollView,在StageredGridView上就不适用了。想了一下,如果能做一个这样的控件,任意View(如:LinearLayout,)放在其中,都能很方便的实现此功能,那该多好啊。故我想了一套解决方案,希望大家一起来探讨,指教。
方案:在一个RelativeLayout中,先放上5个布局(当然可以是任意的,我选择的是LinearLayout)。如下图所示:
在这样的方案下,我分别测试了StageredGridView,SrcollView。都可以达到预期效果,由于项目紧就没有过多的测试其他视图,这也是我拿出来讨论的目的,希望大家一起来完善。
实例效果:下面是我测试StageredGridView的效果图。
初始化界面
下拉过程中
提示可以更新
更新中
提示上拉加载
释放加载更多
加载中
还可以左拖
也可以右拖
源码:
resource.rar(4.39 MB, 下载次数: 176)
结言:不是为了解决问题而解决问题,希望大家能帮我完善此功能。方便以后项目开发。