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

本文介绍了一种基于RecyclerView实现的水平可滚动选择条,具备滚动选择、点击选择及选中项目居中高亮显示等功能。提供了详细的实现思路与步骤,并附带了完整的demo。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

效果图如下:



效果图

思路原文描述的非常清楚,我只是在原有基础上做了修改,都在代码中有注释。

介绍下我的这个demo的使用,非常简单:

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

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


2.在MainActivity中设置使用

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

     (2)准备数据

     (3)添加监听器

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

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


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值