Android双向选择控件DoubleSeekBar使用详解
发布时间:2023-05-15 14:34:20
DoubleSeekBar是一个Android双向选择控件,可以在一个区间内选择两个值,常见于范围选择、价格选择等场景。下面详细介绍它的使用方法。
1. 引入依赖
在项目的build.gradle文件中,加入如下依赖:
dependencies {
implementation 'com.github.rhinoSp:DoubleSeekBar:1.2.1'
}
2. 添加DoubleSeekBar到布局文件
<com.github.rhino.widget.doubleseekbar.DoubleSeekBar
android:id="@+id/double_seek_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:dsb_left_value="100"
app:dsb_right_value="500"
app:dsb_min_value="0"
app:dsb_max_value="1000"
app:dsb_progress_color="@color/colorAccent"
app:dsb_thumb="@drawable/seekbar_thumb"
app:dsb_second_thumb="@drawable/seekbar_thumb"
app:dsb_step="10"
app:dsb_text_color="@color/colorPrimary"
app:dsb_text_size="12sp" />
其中的参数解释如下:
- dsb_left_value/dsb_right_value:设置左侧和右侧初始值
- dsb_min_value/dsb_max_value:设置滑动的最大值和最小值
- dsb_progress_color:进度条颜色
- dsb_thumb/dsb_second_thumb:拇指图片
- dsb_step:设置进度条每步的跨度
- dsb_text_color/dsb_text_size:指示器文字的颜色和大小
3. 设置监听器
添加双向选择控件的监听器,接收左侧和右侧的值变化:
DoubleSeekBar mDoubleSeekBar = findViewById(R.id.double_seek_bar);
mDoubleSeekBar.setOnRangeChangedListener(new DoubleSeekBar.OnRangeChangedListener() {
@Override
public void onRangeChanged(DoubleSeekBar view, float leftValue, float rightValue, boolean isFromUser) {
// do something
}
});
其中,参数解释如下:
- view:当前的DoubleSeekBar对象
- leftValue:当前左侧的值
- rightValue:当前右侧的值
- isFromUser:是否是用户主动滑动造成的值变化
4. 其他方法
双向选择控件还有一些其他方法:
- getLeftValue():获取左侧的值
- setLeftValue():设置左侧的值
- getRightValue():获取右侧的值
- setRightValue():设置右侧的值
- setProgressColor():设置进度条颜色
- setThumb():设置拇指图片
- setSecondThumb():设置第二个拇指图片
- setStep():设置进度条每步的跨度
以上就是关于Android双向选择控件DoubleSeekBar的详细使用方法。
