2

我的搜索栏的范围在 (-100,100) 之间,拇指从 0 开始(在搜索栏的中间)。我想进度色调从中间开始。使用这个库,进度色调总是从搜索栏的开头开始。

我使用了这个库,带有刻度。 https://github.com/warkiz/IndicatorSeekBar

在此处输入图像描述

我的.xml。

在此处输入图像描述

还有我的科特林代码:

mBinding.seekbarWorkout.customSectionTrackColor { colorIntArr ->
            for (i in 0..9) {
                colorIntArr[i] = resources.getColor(R.color.white_transparent, null)
            }

            true //true if apply color , otherwise no change
        }

mBinding.seekbarWorkout.onSeekChangeListener = object : OnSeekChangeListener {
            override fun onSeeking(seekParams: SeekParams?) {}

            override fun onStartTrackingTouch(seekBar: IndicatorSeekBar?) {}
            override fun onStopTrackingTouch(seekBar: IndicatorSeekBar?) {
                updateViewModel()
            }
        }

轨道进度颜色必须从搜索栏的中间开始。我想要这样的东西:

在此处输入图像描述

4

2 回答 2

0

在演示中尝试过并且工作正常。

    <com.warkiz.widget.IndicatorSeekBar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:isb_progress="0" // this property is your solution
        app:isb_min="-100"
        app:isb_max="100"
        app:isb_tick_marks_size="3dp"
        app:isb_ticks_count="5" />

对我来说,如果它仍然无法正常工作,那么这段代码工作得很好,而不是实现库并复制 IndicatorSeekBar 类以更好地理解它。

于 2020-01-02T13:13:50.473 回答
0

没有本地方法可以做到这一点。这样做的唯一方法:

解决方案

于 2020-01-06T09:33:16.457 回答