2025-05-29
锲而舍之,朽木不折;锲而不舍,金石可镂。——《荀子·劝学》
https://github.com/woxingxiao/BubbleSeekBar
BubbleSeekBar:优雅的 Android 自定义进度条组件
在 Android 开发中,进度条(SeekBar)是一个重要的控件,常用于调节数值或显示进度。然而,原生的 SeekBar 功能有限,无法满足一些视觉效果和交互体验的需求,比如显示实时数值或提供更直观的用户反馈。
今天我们来介绍一个开源的 Android 自定义控件——BubbleSeekBar。它不仅功能强大,还拥有优雅的视觉效果,能够轻松实现实时数值显示的需求。
什么是 BubbleSeekBar?
BubbleSeekBar
是一个高度可定制的 Android 自定义控件,用于实现带有气泡样式的 SeekBar。在拖动进度条时,气泡会显示当前的数值,提供更好的用户反馈和交互体验。
主要功能
- 实时数值显示:气泡会在用户拖动进度条时显示当前数值。
- 高度可定制化:
- 支持设置气泡样式、颜色、大小等。
- 支持定制进度条的样式、颜色和分布。
- 支持分段模式:可以将进度条分为多个段,适用于评分、等级选择等场景。
- 多种动画效果:气泡的出现和消失带有流畅的动画效果。
- 便捷使用:通过简单的 XML 属性配置即可快速上手。
快速上手指南
以下是使用 BubbleSeekBar
的基本步骤:
1. 添加依赖
在项目的 build.gradle
文件中添加以下依赖:
1 |
|
将 latest_version
替换为 GitHub Releases 页面的最新版本号。
2. 在布局文件中使用
在 XML 中添加 BubbleSeekBar
:
1 |
|
常用属性说明
app:bsb_min
:设置进度条的最小值。app:bsb_max
:设置进度条的最大值。app:bsb_progress
:设置当前进度。app:bsb_track_color
:进度条背景轨道的颜色。app:bsb_second_track_color
:进度条已完成部分的颜色。app:bsb_thumb_color
:拖动圆点的颜色。app:bsb_bubble_color
:气泡的背景颜色。app:bsb_bubble_text_color
:气泡文字的颜色。app:bsb_show_section_mark
:是否显示分段标记。app:bsb_auto_adjust_section_mark
:是否自动调整到分段标记。
3. 在代码中动态控制
BubbleSeekBar
提供了丰富的 API,可以在代码中动态设置参数或监听事件:
1 |
|
进阶功能
1. 分段模式
BubbleSeekBar
支持将进度条分为多个段,并自动调整到最近的段值。例如:
1 |
|
通过 app:bsb_section_count
属性设置段数,适用于评分或等级选择。
2. 动态更新样式
可以通过代码动态更改样式,例如:
1 |
|
3. 自定义气泡内容
BubbleSeekBar
支持自定义气泡的显示内容,通过实现 BubbleSeekBar.OnBubbleTextListener
:
1 |
|
应用场景
- 评分系统:用户可以通过拖动进度条选择评分。
- 音量调节:气泡实时显示音量大小,提升交互体验。
- 亮度调节:用于调节屏幕亮度,显示具体数值。
- 时间选择器:通过分段模式选择时间段。
总结
BubbleSeekBar
是一个功能强大且优雅的 Android 自定义控件,能够显著提升进度条的交互体验。它不仅支持实时数值显示,还提供了丰富的样式定制和强大的分段功能,适用于多种应用场景。
项目地址:https://github.com/woxingxiao/BubbleSeekBar
如果你正在寻找一个视觉效果出众的进度条控件,不妨试试 BubbleSeekBar
吧!欢迎为项目点亮 ⭐️!