首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >com.jaygoo.widget.RangeSeekBar : Android Seekbar沿着搜索栏显示进度值

com.jaygoo.widget.RangeSeekBar : Android Seekbar沿着搜索栏显示进度值
EN

Stack Overflow用户
提问于 2019-12-12 16:56:23
回答 2查看 1.4K关注 0票数 1

我使用"com.jaygoo.widget.RangeSeekBar“作为库来获取一个范围搜索栏。下面是我的代码XML:

代码语言:javascript
复制
 <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代码:

代码语言:javascript
复制
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) {
    }
}) 

我的问题就解决了

EN

回答 2

Stack Overflow用户

发布于 2019-12-12 17:19:07

将% sign放在库中,这样您就可以根据自己的要求进行更改:

代码语言:javascript
复制
seekBarPrice.setIndicatorTextStringFormat("$%s%")

我希望它能帮助你...!

票数 0
EN

Stack Overflow用户

发布于 2020-02-25 01:46:08

我认为这是正确的方式

代码语言:javascript
复制
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%");
        }
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59300865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档