Android瀑布流實例android_waterfall源碼分析
今天看了@dodola的android瀑布流實例的源碼,并按照自己的喜好改了些內容。
@dodola的源碼路徑:https://github.com/dodola/android_waterfall
我按照個人喜好更改后的源碼路徑:https://github.com/tingzi/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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!