为RecyclerView打造右侧索引导航栏IndexBar

本文详细介绍了如何为RecyclerView打造右侧索引导航栏IndexBar,包括使用ItemDecoration实现悬停头部切换动画,自定义View完成IndexBar功能,通过TinyPinyin库对数据源进行拼音排序,以及实现RecyclerView与IndexBar的联动。此外,文章还讨论了如何封装这些功能,以方便二次使用。
摘要由CSDN通过智能技术生成

今日科技快讯

针对于11月1日开始实施的网约车新规,滴滴出行今日发表声明称,滴滴将进一步与各级主管部门沟通交流,争取使民众出行得到最大满足。滴滴表示,目前各地细则正式实施,不少地方的细则在广纳民意的基础上做了很多修改和完善,滴滴将积极配合有关部门,加强规范管理,提升安全和体验。

作者简介

本篇是 张旭童 的第二篇投稿,紧跟他的上一篇文章《悬停头部分组列表》(点击可看),上篇的反响还是很不错的,今天除了补充上篇,还新增了字母索引栏功能,相当实用。与上篇一样,本文很充实,所以你可能要花费一定时间阅读了,让我们快开始吧!

张旭童 的博客地址:

http://blog.csdn.net/zxt0601

概述

《悬停头部分组列表》里面,我们用 ItemDecoration RecyclerView 打造了带悬停头部的分组列表。其实Android版微信的通讯录界面,它的分组title也不是悬停的,我们已经领先了微信一小步(认真脸)~ 

再看看市面上常见的分组列表(例如饿了么点餐商品列表),不仅有悬停头部,悬停头部在切换时,还会伴有切换动画。 

关于 ItemDecoration 还有一个问题,简单布局还好,我们可以draw出来,如果是复杂的头部呢?能否写个 xml,inflate进来,这样使用起来才简单,即另一种简单使用 onDraw 和 onDrawOver 的姿势。 

so,本文开头我们就先用两节完善一下我们的 ItemDecoration。然后进入正题:自定义View实现右侧索引导航栏IndexBar,对数据源的排序字段按照拼音排序,最后将 RecyclerView 和 IndexBar 联动起来,触摸 IndexBar 上相应字母,RecyclerView 滚动到相应位置。(在屏幕中间显示的其实就是一个TextView,我们set个体IndexBar即可) 

由于大部分使用右侧索引导航栏的场景,都需要这几个固定步骤,对数据源排序,set给IndexBar,和RecyclerView联动等,所以最后再将其封装一把,成一个高度封装,因此扩展性不太高的控件,更方便使用,如果需要扩展的话,反正看完本文再其基础上修改应该很简单~

最终版预览:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值