android 瀑布流的實現詳解,附源碼 介紹
參考自:https://github.com/dodola/android_waterfall,因爲原來的代碼封裝不好,所以,我根據源碼的思路,重新寫了一遍,所以有了現在這個項目:https://github.com/youxilua/waterfall4android
原作者表示:
設計思路試過在1萬張可以流暢的滑動,不出現內存溢出情況
之前的作者的自定義view 只有主滑動一層,其他的設置要在相應的活動設置,個人覺得,重用起來比較麻煩,所以決定封裝一層.現在定義一個默認的瀑布流只需5步,以下爲源碼示意,具體,看源碼...
//1 初始化waterfall
waterfall_scroll = (WaterFallView) findViewById(R.id.waterfall_scroll);
//2 初始化顯示容器
waterfall_container = (LinearLayout) findViewById(R.id.waterfall_container);
//3,設置滾動監聽
waterfall_scroll.setOnScrollListener(this);
//4,實例一個設置
WaterFallOption fallOption = new WaterFallOption(waterfall_container, 每列寬度, 列數);
//5,提交更改,實現android瀑布流
waterfall_scroll.commitWaterFall(fallOption, waterfall_scroll);
最後不要忘了監聽滾動到底部的監聽
@Override public void onBottom() { AddItemToContainer(++(waterfall_scroll.current_page), waterfall_scroll.pageCount); }
已知bug這裏出現的bug,原來的也有...
- 滾動過快,導致部分圖片無法顯示
- 實現支持URL的方式加載圖片