带有Header的自定义GridView

hi,朋友们应该经常用联系人吧,通常的联系人一个索引带着一批联系人信息,当你向上滑动的时候,顶部的索引值会变成你当前的联系人信息。下面的例子我把gridview的行数设置为一行,类似联系人。大家也可以设置多行实现具体项目的需求。


先上效果图:

    




项目结构:




用途:

一个gridView的自定义控件可以实现一个header带N个item为一组的显示。可以实现像联系人那样显示的应用,


代码解析:主要的设计模式:装饰着模式。

StickyGridHeadersBaseAdapter 主要的装饰者接口

StickyGridHeadersBaseAdapterWrapper 最终包装器,包装了adapter,负责调用返回Header的和item的视图,负责处理headers的索引值。

StickyGridHeadersGridView gridview控件,里面含有最终包装器,实现了对固定在顶部的view和gridview拖动时候的效果,使用起来和普通的gridview一样。

StickyGridHeadersListAdapterWrapper 普通的adapter的包装器,只是为了连接上这个设计模式,让该控件也能使用普通的adapter。

StickyGridHeadersSimpleAdapter 定义了两个方法,为主要装饰着接口的部分实现。

StickyGridHeadersSimpleAdapterWrapper 简单使用的包装器,包装实现StickyGridHeadersSimpleAdapter的adapter,然后把方法和主要装饰着定义的方法做链接。

StickyGridHeadersSimpleArrayAdapter 已经实现的一个简单adapter,重写这个方法可以实现布局的变换。


场景使用1:如果默认的header和item项处理方式满足我们的需求,只需要修改StickyGridHeadersSimpleArrayAdapter来更改显示即可。

场景使用2:由于使用的是装饰着模式,可以模仿StickyGridHeadersSimpleAdapterWrapper自己在写一个包装器,针对header和item项的处理做变换。


例子下载:http://download.csdn.net/detail/panjidong_3/6619207


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值