【问题标题】:com.jaygoo.widget.RangeSeekBar : Android Seekbar show progress value along the seekbarcom.jaygoo.widget.RangeSeekBar : Android Seekbar 沿 seekbar 显示进度值
【发布时间】:2020-04-05 15:00:19
【问题描述】:

我使用库“com.jaygoo.widget.RangeSeekBar”来获取 Range Seek Bar。 这是我的以下代码 XML:

 <com.jaygoo.widget.RangeSeekBar
        android:id="@+id/seekBarPrice"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:rsb_min="1"
        app:rsb_max="5000"
        app:rsb_gravity="center"
        app:rsb_indicator_background_color="@color/white"
        app:rsb_indicator_show_mode="alwaysShow"
        app:rsb_indicator_text_color="@color/darkGrey"
        app:rsb_indicator_text_size="10sp"
        app:rsb_mode="range"
        app:rsb_progress_color="@color/honey"
        app:rsb_thumb_drawable="@drawable/circle"/>

这个 RangeSeekBar 用于指定价格范围,我想知道如何在我的 seekrangeBar 的指标处添加“$”符号作为以下图片:

我添加了以下 kotlin 代码:

seekBarPrice.leftSeekBar.setIndicatorText("$1")
seekBarPrice.rightSeekBar.setIndicatorText("$1")
seekBarPrice.setRange(1F,5000F)
seekBarPrice.setOnRangeChangedListener(object: OnRangeChangedListener {
    override fun onStartTrackingTouch(view: RangeSeekBar?, isLeft: Boolean) {
    }

    override fun onRangeChanged(
            view: RangeSeekBar?,
            leftValue: Float,
            rightValue: Float,
            isFromUser: Boolean
    ) {
        Log.d("tag", "Value: $leftValue")
        seekBarPrice.leftSeekBar.setIndicatorText("$".plus(leftValue.toInt()))
        seekBarPrice.rightSeekBar.setIndicatorText("$".plus(rightValue.toInt()))
    }

    override fun onStopTrackingTouch(view: RangeSeekBar?, isLeft: Boolean) {
    }
}) 

我的问题解决了

【问题讨论】:

  • 您可以在本地克隆库并根据需要进行修改
  • 没有其他解决方案或其他库可以得到我想要的东西
  • 我是说,从 github 克隆您已经在使用的库,将其导入您的项目并根据需要进行更改

标签: android kotlin price rangeseekbar


【解决方案1】:

在您的库中以这种方式放置 % 符号,以便您根据需要进行更改:

seekBarPrice.setIndicatorTextStringFormat("$%s%")

希望对你有帮助...!

【讨论】:

  • 谢谢你的回复,但是htis库给了我一个指标,我想要两个指标
  • 这个库“com.github.Innovattic:range-seek-bar:v1.0.6”怎么样
  • 我仍然没有达到我想要的效果
  • 根据我的回答,你是否得到 %
  • 是的,我得到 % ,但我不想得到 % 我只想使用 RangeSeekBar 来指定具有两个指标的价格范围,并为每个指标添加“$”符号
【解决方案2】:

我认为这是正确的方法

rangePrice.setOnRangeChangedListener(new OnRangeChangedListener() {

        @Override
        public void onRangeChanged(RangeSeekBar view, float leftValue, float rightValue, boolean isFromUser) 
        {

        }

        @Override
        public void onStartTrackingTouch(RangeSeekBar view, boolean isLeft) {

        }

        @Override
        public void onStopTrackingTouch(RangeSeekBar view, boolean isLeft) {
            view.setIndicatorTextDecimalFormat("$%s%");
        }
    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    相关资源
    最近更新 更多