Android瀑布流實例android_waterfall源碼分析

jopen 12年前發布 | 44K 次閱讀 Android Android開發 移動開發

    今天看了@dodola的android瀑布流實例的源碼,并按照自己的喜好改了些內容。

    @dodola的源碼路徑:https://github.com/dodola/android_waterfall

    我按照個人喜好更改后的源碼路徑:https://github.com/tingzi/android_waterfall

    瀑布流如圖所示:

    Android瀑布流實例android_waterfall源碼分析

    根據對源碼的分析,暫以我更改后的代碼為例,分析如下:

    整個瀑布流用的是ScrollView的子類LazyScrollView。

這個LazyScrollView中設置了一個監聽器接口,用來監聽ScrollView執行的不同階段。接口如下:

public interface OnScrollListener {
    void onBottom();

    void onTop();

    void onScroll();

    void onAutoScroll(int l, int t, int oldl, int oldt);
}

對于每一幅圖,都用一個ImageView的子類FlowView來表示。

為了不阻塞UI線程,圖片加載和圖片更新都分別用不同的線程來做。這兩個線程都在FlowView中。FlowView提供了加載和更新的接口給Activity調用。

瀑布流實例的主Activity是MainActivity,常量都保存在Constants類中,方便維護。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!