前几天项目中需要使用到一个水平可滚动的选择条,类似下图效果(图片是从简书上一位作者那儿找来的,本篇也是在这位作者的文章的基础上修改的,站在大神的肩膀上,哈哈,由于原文没有提供demo,而且实现的效果跟我要的不一样(原文不是自定义控件,怎么说自己也是偷懒吧,所以直接封装一下,跟原文代码差别还是很大的),所以进行了一些修改,原文地址:思路来源 )。
这个滚动选择条主要基于RecyclerView实现,实现的功能如下:
1. 滚动选择 2.点击选择 3.选中项目居中高亮显示
效果图如下:
效果图思路原文描述的非常清楚,我在原有基础上做了修改,都在代码中有注释。
介绍下我的这个demo的使用,非常简单:
1.在xml中加入自定义的布局
写入自定义view的包名全路径,设置一下其他基本属性,完事。
2.在MainActivity中设置使用
(1)找到自定义的view和其中的RecyclerView
(2)准备数据
(3)添加监听器
这个监听器主要是为了获取RecyclerView的宽度,因为在onCreate执行的时候,视图还没有绘制出来,直接getMeasureWidth()等方法获取的都是0,这个监听器给视图添加一个回调,在视图绘制的瞬间就可以获得视图宽度。
(4)调用自定义View公开的方法,设置数据,初始化适配器。
第一次在简书写文章,有不足之处欢迎指出,好让我可以改进,当然也欢迎多多鼓励小弟,有动力继续写下去哈~~~最后附上demo下载地址,有需要的同学欢迎使用~~开源万岁~~Demo地址
网友评论