目的

全局替换刷新头部

头部可拔插:需要应用策略模式(组合与接口的方式set get);
全局替换:就是原型模式

设置一个全局头部,那么每次使用的下拉刷新 都是全局头部的深拷贝对象。当然可以随意生成想要拷贝的特性;

范例

头部接口

1
2
3
4
5
6
7
8
9
10
11
public interface IHeaderView {

中间省略.....
/**
* 全局更换头的配置
* 主要是为了复制头部对象,复制想要复制的属性
* 注意:返回null时候,默认就是新浪头了
*/
IHeaderView clone_();

}

全局设置

1
2
3
4
5
6
7
8
WaveHead waveHead=new WaveHead();
waveHead.setResourceId(R.drawable.aaaaaaaaaaaab);
Config.build()
.setHeader(waveHead)
.setFooter(new MeterialFooter())
.setResistance(new Damping2Head8per())
.writeLog(true)
.perform();

实践项目:

https://github.com/luhaoaimama1/ZRefreshLayout

欢迎Star 自恋的宣传一下 (*>∀<)ノ))★

特点与功能实现

  • 支持添加下拉刷新与上拉加载
  • 支持所有的View:ImageView,FrameLayout,ListView, GridView, ScrollView, WebView…
  • 全局配置(头部配置都在这里,所以没有xml属性~),与独立更改
  • 自动刷新 延时刷新(如果刷新完毕有动画的话 需要用到延时刷新 ,延时demo)
  • 头部是否固定
  • 刷新出发位置
  • 下拉位置映射,既resistance阻力
  • 因为是继承FrameLayout,可以添加多个child。(我没有控制必须一个,感觉更灵活吧)