自己定义View实现水平滚动控件

前几天项目中须要使用到一个水平可滚动的选择条,类似下图效果(图片是从简书上一位作者那儿找来的,本篇也是在这位作者的文章的基础上改动的,站在大神的肩膀上,哈哈,因为原文没有提供demo,并且实现的效果跟我要的不一样(原文不是自己定义控件,怎么说自己也是偷懒吧,所以直接封装一下),所以进行了一些改动。原文地址:思路来源 )。



这个滚动选择条主要基于RecyclerView实现,实现的功能例如以下:

1. 滚动选择   2.点击选择   3.选中项目居中高亮显示

效果图例如以下:



效果图

思路原文描写叙述的很清楚,我仅仅是在原有基础上做了改动,都在代码中有凝视。

介绍下我的这个demo的使用,很easy:

1.在xml中增加自己定义的布局

写入自己定义view的包名全路径。设置一下其它基本属性,完事。


2.在MainActivity中设置使用

     (1)找到自己定义的view和当中的RecyclerView

     (2)准备数据

     (3)加入监听器

              这个监听器主要是为了获取RecyclerView的宽度。由于在onCreate运行的时候。视图还没有绘制出来,直接getMeasureWidth()等方法获取的都是0。这个监听器给视图加入一个回调,在视图绘制的瞬间就能够获得视图宽度。

     (4)调用自己定义View公开的方法,设置数据,初始化适配器。


第一次在简书写文章,有不足之处欢迎指出,好让我能够多多改进,当然也欢迎多多鼓舞小弟。有动力继续写下去哈~~~最后附上demo下载地址,有须要的同学欢迎使用~~开源万岁~~Demo地址  

posted @ 2017-06-05 09:35  cxchanpin  阅读(183)  评论(0编辑  收藏  举报