针对于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联动等,所以最后再将其封装一把,成一个高度封装,因此扩展性不太高的控件,更方便使用,如果需要扩展的话,反正看完本文再其基础上修改应该很简单~
最终版预览: