1. 程式人生 > >[Github開源庫PinterestLikeAdapterView]--Android瀑布流的實現

[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);

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

這個開源庫還是挺好用的,本著不造輪子的想法,最近的一個專案中用了不少開源庫。今天就暫時介紹一個瀑布流的吧,因為有些同學看到英文就頭大,簡單介紹一下這個庫怎麼使用,用的過程中可能遇到的問題。

瀑布流當然是圖片居多,圖片的載入我又用到這個開源庫: ,其實這個開源庫可以說的東西也很多,圖片載入之利器有木有,不過今天的主角是瀑布流,先來介紹瀑布流吧。

1.把專案下載下來,匯入eclipse,.引用專案為自己專案的lib包.

QQ截圖20130821232347

3.佈局瀑布流View,然後跟操作listView一樣操作這個view..

我找了點網上的圖片做了個示例:

device-2013-08-21-232803

以下是注意點:

1.多螢幕適配問題,這個庫不知道是不是基於480*800來實現的,我在480*800的屏的手機上試是沒有問題的,如果是大辨率的,需要做個適配,具體方法在waterfallAdapter裡我有寫明。

2.最好要先知道圖片的大小,這樣,可以初始化一個相同大小的圖片預設圖佔住這張圖片的位置,避免圖片一下加載出來瀑布流又自己進了調整,感覺就一閃一閃的,效果不好,事先佔住位置就OK了。

3.對於DEMO裡的圖片載入的庫,在做瀑布流的時候最好把圖片cacheOnDisc()設定為true.這樣圖片就會存本地硬碟,避免太多圖片OOM,更具體的設定請參考

4.對於瀑布流載入更多圖片,跟listView載入更多一模一樣。這兒就不多說了。

原始碼DEMO地址:地址