原型模式-下拉刷新的全局设置

Android · luhaoaimama1 · 于 发布 · 最后由 rango回复 · 384 次阅读
2919 1486395760

本文在 DiyCodeZone的个人博客 首发,关注作者的 DiyCode帐号 或者作者微博可第一时间收到新文章推送。

目的

全局替换刷新头部

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

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

范例

头部接口

public interface IHeaderView {

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

}

全局设置

       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 自恋的宣传一下 (*>∀<)ノ))★

特点与功能实现

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

,

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册