欢迎访问宙启技术站
智能推送

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的详细使用方法。