Android仿微信通讯录:悬停头部分组列表

今日科技快讯

昨日,vivo与NBA在上海举办了战略发布会,宣布vivo将成为NBA在中国唯一的手机市场官方合作伙伴。未来多年里,双方将在赛事、产品、服务以及品牌营销等方面展开全方位战略合作。

根据内部人士透露,vivo将会推出一系列NBA主题的深度定制手机以及周边产品。同时,在未来多年中参与NBA国际系列赛中国站、NBA球迷答谢之夜等一系列品牌活动。此外,vivo还将推出“vivo校园篮球计划”、“vivo走进赛场”等一系列品牌定制的NBA主题活动。

作者简介

本篇来自 张旭童 的投稿,分享了如何使用 ItemDecoration 实现 悬停头部分组列表功能,这种实现方式还是很简便的,希望能帮助有需要的朋友。

张旭童 的博客地址:

http://blog.csdn.net/zxt0601

概述

效果如下,两个ItemDecoration,一个实现悬停头部分组列表功能,一个实现分割线:

网上关于实现带悬停分组头部的列表的方法有很多,像我看过有主席的自定义 ExpandListView 实现的,也看过有人用一个额外的父布局里面套 RecyclerView/ListView + 一个头部View(位置固定在父布局上方)实现的。

对于以上解决方案,有以下几点个人觉得不好的地方: 

1. 现在 RecyclerView 是主流。

2.RecyclerView 外套一个父布局总归是增加布局层级,容易overdraw,显得不够优雅。 

3. item布局 实现带这种分类头部的方法有两种,一种是把分类头部当做一种itemViewtype(麻烦),另一种是每个 Item布局 都包含了分类头部的布局,代码里根据postion 等信息动态 Visible,Gone头部(布局冗余,item效率降低)。

况且Google为我们提供了 ItemDecoration,它本身就是用来修饰 RecyclerView 里的Item 的,它的 getItemOffsets()onDraw() 方法用于为Item分类头部留出空间和绘制(解决缺点3),它的 onDrawOver() 方法用于绘制悬停的头部View(解决缺点2)。 

而且更重要的是,ItemDecoration 出来这么久了,你还不用它?

本文就利用 ItemDecoration 打造 分组列表,并配有悬停头部功能。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值