[Github开源库PinterestLikeAdapterView]--Android瀑布流的实现

update2014/11/25 最近更新,在算图片宽高的时候,DEMO中的算法有问题,更新一下算法(以两屏瀑布流为例):

 LayoutParams lp = (LayoutParams) holder.ivIcon.getLayoutParams();
 lp.width = (dWidth - Utility.dip2px(context, 12f)) / 2;
 lp.height = (int) (bean.getHeight() * 1.00 / bean.getWidth() * lp.width);
 holder.ivIcon.setLayoutParams(lp);

--------------------------------------------------------------------------------------------------------------------------------------

这个开源库还是挺好用的,本着不造轮子的想法,最近的一个项目中用了不少开源库。今天就暂时介绍一个瀑布流的吧,因为有些同学看到英文就头大,简单介绍一下这个库怎么使用,用的过程中可能遇到的问题。

瀑布流当然是图片居多,图片的加载我又用到这个开源库:Android-Universal-Image-Loader ,其实这个开源库可以说的东西也很多,图片加载之利器有木有,不过今天的主角是瀑布流,先来介绍瀑布流吧。

PinterestLikeAdapterView库的使用:

1.把项目下载下来,导入eclipse,.引用项目为自己项目的lib包.

[Github开源库PinterestLikeAdapterView]--Android瀑布流的实现_第1张图片

3.布局瀑布流View,然后跟操作listView一样操作这个view..

我找了点网上的图片做了个示例:

[Github开源库PinterestLikeAdapterView]--Android瀑布流的实现_第2张图片

 

例子大家可以直接下载源码看,配合上Android-Universal-Image-Loader  这个开源的图片加载库,基本很容易。

以下是注意点:

1.多屏幕适配问题,这个库不知道是不是基于480*800来实现的,我在480*800的屏的手机上试是没有问题的,如果是大辨率的,需要做个适配,具体方法在waterfallAdapter里我有写明。

2.最好要先知道图片的大小,这样,可以初始化一个相同大小的图片默认图占住这张图片的位置,避免图片一下加载出来瀑布流又自己进了调整,感觉就一闪一闪的,效果不好,事先占住位置就OK了。

3.对于DEMO里的图片加载的库,在做瀑布流的时候最好把图片cacheOnDisc()设置为true.这样图片就会存本地硬盘,避免太多图片OOM,更具体的设置请参考Android-Universal-Image-Loader。

4.对于瀑布流加载更多图片,跟listView加载更多一模一样。这儿就不多说了。

源码DEMO地址:地址。

你可能感兴趣的:([Github开源库PinterestLikeAdapterView]--Android瀑布流的实现)