oschina 中收錄了類Pinterst 瀑布流的一個實現方式 http://www.oschina.net/p/android_waterfall android
實現方式是ScrollView 嵌套多列LinearLayout ,經過計算當前圖片與上下兩屏距離來判斷是否被回收或者重載。 git
單個瀑布流也能夠從佈局文件中 Infalte 出來,實現自定義。 github
Github 上還有另一種 瀑布流的實現方式 https://github.com/huewu/PinterestLikeAdapterView 函數
Git clone git://github.com/huewu/PinterestLikeAdapterView.git 佈局
韓文。韓國人寫的。 google
寫的有點特別 。 編碼
我估計: 他首先將google的 android.widget 包中的 AdapterView ,AdapterListView和 ListView 源碼copy下來。 spa
對其中的某些部分進行了修改.(代碼太多 尚未看完) ,最後使用 MultiColumnListView 類實現了 多列的ListView。 .net
若是預計沒錯 ,單個View的顯示方式和回收方式是和ListView相同的,有個pool of recycled views 。Adapter 中調用 getView(int posititon ,View converView ...) 函數 converView是複用View 。其調用方式和ListView GridView 無異。 rest
做者寫了這個組件的style.xml ,佈局調整不須要硬編碼。 優勢多多 , 我也只看了半個下午的時間,明天繼續研究。
so. 推薦給你們 一塊兒研究研究
--EOF--