[Android]瀑布流實例android_waterfall源碼分析

    今天看了@dodola的android瀑布流實例的源碼,並按照本身的喜愛改了些內容。java

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

    我按照我的喜愛更改後的源碼路徑:https://github.com/tingzi/android_waterfallgit

    瀑布流如圖所示:github

    

    根據對源碼的分析,暫以我更改後的代碼爲例,分析以下:.net

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

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

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類中,方便維護。圖片

相關文章
相關標籤/搜索