今天看了@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类中,方便维护。

更多相关文章

  1. Android中Activity启动过程源码阅读笔记:
  2. 手把手教你查看android系统源码
  3. 在源码中编译自己的Android project
  4. 阅读 Android 系统源码有什么好处?哪些地方需要重点学习呢?
  5. 【Android 并发编程】线程间通信的三种基本方式
  6. 源码编译Android 4.1.2的Camera应用(Eclipse版)

随机推荐

  1. android学习笔记-1
  2. 自定义程序实现Android(安卓)EditText只
  3. android 导入 3d 场景
  4. HTC:七月底推出 Desire Android 2.3 升级
  5. Android中数据存储——ContentProvider存
  6. Android 数字签名学习笔记
  7. Android(安卓)Studio适当修改
  8. 《Android应用开发精解》前言
  9. Android开发该何去何从
  10. 构建Android应用程序