android-Ultra-Pull-To-Refresh学习

本文是学习Android 开源项目源码解析 中 android-Ultra-Pull-To-Refresh  部分的笔记。
原文:[http://a.codekk.com/detail/Android/Grumoon/android-Ultra-Pull-To-Refresh%20源码解析]

1功能

下载demo自己体验,主要是下拉刷新。

2. 总体设计

首先抽象出了两个接口,功能接口和 UI 接口。

PtrHandler 代表下拉刷新的功能接口,包含刷新功能回调方法以及判断是否可以下拉的方法。用户实现此接口来进行数据刷新工作。
PtrUIHandler 代表下拉刷新的 UI 接口,包含准备下拉,下拉中,下拉完成,重置以及下拉过程中的位置变化等回调方法。通常情况下, Header 需要实现此接口,来处理下拉刷新过程中头部 UI 的变化。

整个项目围绕核心类 PtrFrameLayout。 PtrFrameLayout 代表了一个下拉刷新的自定义控件。
PtrFrameLayout 继承自 ViewGroup,有且只能有两个子 View,头部 Header 和内容 Content。通常情况下 Header 会实现 PtrUIHandler 接口, Content 可以为任意的 View。
和所有的自定义控件一样, PtrFrameLayout 通过重写 onFinishInflate, onMeasure, onLayout 来确定控件大小和位置。通过重写 dispatchTouchEvent 来确定控件的下拉行为。

你可能感兴趣的:(android-Ultra-Pull-To-Refresh学习)