java - 如何在Range Seekbar中设置进度间隔

标签 java android android-intent android-activity android-fragments

嗨,我使用给定的示例创建了一个两个拇指范围的搜索栏..但现在我遇到了一个问题.. 现在我正在获取最小值和最大值部分。下一个问题是定制 搜索栏中 slider 的值。就像我想要 500,1000,1500.... 等等,但根据示例代码 它重视进步 1,2,3..etc 我正在为我的主类提供代码。

来源链接:'https://code.google.com/p/range-seek-bar/

   RangeSeekBar<Integer>seekBar = new RangeSeekBar<Integer>(1000, 1000000, context);

   seekBar.setOnRangeSeekBarChangeListener(new OnRangeSeekBarChangeListener<Integer>() {

   @Override

  public void onRangeSeekBarValuesChanged(RangeSeekBar<?> bar, Integer minValue,Integer maxValue) 

  {

  //handle changed range values

  Log.i("", "Price Range Values: MIN=" + minValue + ", MAX=" + maxValue);

  String range = "Price Range:" + minValue + "-" + maxValue;

  price_range.setText(range); 

最佳答案

我只是在阐述rentires 的想法。因此,您需要做的是将 Min- 和 Max-Range 除以 500,然后在 onRangeSeekBarValuesChanged 中将其乘以 500。

代码

    int startValue = 1000;
    int endValue = 100000;
    final int factor = 500;
    RangeSeekBar<Integer> seekBar = new RangeSeekBar<Integer>(startValue/factor, endValue/factor, this);
    seekBar.setOnRangeSeekBarChangeListener(new RangeSeekBar.OnRangeSeekBarChangeListener<Integer>() {
        @Override
        public void onRangeSeekBarValuesChanged(RangeSeekBar<?> bar, Integer minValue, Integer maxValue) {
            minValue = minValue*factor
            maxValue *= factor;
            value.setText(minValue + " : " + maxValue);
        }
    });

为了让用户更清楚他选择了哪个范围,您还应该启用 notifyWhileDragging。 (这可确保在用户拖动 RangeSeekBar 时始终调用 onRangeSeekBarValuesChanged 方法)。

seekBar.setNotifyWhileDragging(true);

关于java - 如何在Range Seekbar中设置进度间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25996148/

相关文章:

android - 无法通过 setClassName 在 Android 中使用不同的包启动新的 Intent

java - 将 findViewById 从 Java 转换为 Kotlin

java - 如何将数据附加到 JTA 事务? (或唯一标识它)

android - 使用/proc/meminfo读取android设备的内存总量

android - Webview "mailto:"链接和 "tel:"链接使用 Intent.ACTION_VIEW 工作,但是我如何添加唯一的主题即 "mailto:"链接

java - 在 Android 4.4.2 上更改短信应用默认设置

java - 解决 hibernate 异常问题

java - 在java中使用线绘制圆

安卓 Gradle 3.0 : Multiple dex files define Lorg/jetbrains/annotations/TestOnly

android - 当方向改变时, Activity 恢复了两次