【问题标题】:progress intervals in Range SeekbarRange Seekbar 中的进度间隔
【发布时间】:2014-11-26 06:28:37
【问题描述】:

嘿,我使用给定的代码创建了一个两个拇指范围的搜索栏。它工作正常。现在我想在搜索栏中设置滑块的特定范围,例如,因子 = 100 到 30000,之后该因子应该是 500 ..意思是从 1000 t0 30000 进度间隔 100 到 30000 之后进度间隔应该是 500 我该怎么做..我指的是这个例子

源码:https://code.google.com/p/range-seek-bar/

原始代码:

int startValue = 1000;
int endValue = 200000;
final int factor = 500;
String range_min_value ="0",range_max_value ="200000"

    final RangeSeekBar_two<Integer> seekBar = new RangeSeekBar_two<Integer>(startValue/factor, endValue/factor, this);
        seekBar.setOnRangeSeekBarChangeListener(new RangeSeekBar_two.OnRangeSeekBarChangeListener<Integer>() {
            @Override
            public void onRangeSeekBarValuesChanged(RangeSeekBar_two<?> bar, Integer minValue, Integer maxValue) {
                minValue = minValue*factor;
                maxValue *= factor;

                seekBar.setNotifyWhileDragging(true); 
                 range_min_value = ""+minValue;
                 range_max_value = ""+maxValue;
                 value_range.setText(minValue+" - "+maxValue); 

            }
        });

更新代码:

int startValue = 1000;
int endValue = 200000;
final int factor = 500;
String range_min_value ="0",range_max_value ="200000"

        final RangeSeekBar_two<Integer> seekBar1 = new RangeSeekBar_two<Integer>(startValue/factor, endValue/factor, this);
        seekBar1.setOnRangeSeekBarChangeListener(new RangeSeekBar_two.OnRangeSeekBarChangeListener<Integer>() {
            @Override
            public void onRangeSeekBarValuesChanged(RangeSeekBar_two<?> bar, Integer minValue, Integer maxValue) {

                seekBar1.setNotifyWhileDragging(true); 
                 range_min_value = ""+minValue;
                 range_max_value = ""+maxValue;

                 if (minValue < 30000) {
                        factor = 100;
                        minValue = minValue * factor;
                        maxValue *= factor;
                        value_range.setText(minValue+" - "+maxValue); 
                    } else {
                        factor = 500;
                        minValue = minValue * factor;
                        maxValue *= factor;
                        value_range.setText(minValue+" - "+maxValue); 
                    }


            }
        });

【问题讨论】:

  • 谁能提出解决方案
  • 您使用的是哪个 RangeSeekBar 库?
  • 这里需要startValue和endValue变量吗?

标签: android android-layout android-activity android-fragments android-seekbar


【解决方案1】:

如果我正确理解您的问题,这就是您所需要的

if (minValue < 10000) {
    factor = 100;
    minValue = minValue * factor;
    maxValue *= factor;
    value.setText(minValue + " : " + maxValue);
} else {
    factor = 500;
    minValue = minValue * factor;
    maxValue *= factor;
    value.setText(minValue + " : " + maxValue);
}

如果你想要别的东西,请告诉我。 希望对您有所帮助。

【讨论】:

  • 您可以在 onRangeSeekBarValuesChanged 方法中使用它。
  • Zoain 我添加了更新的代码..但仍然没有得到我期望的输出增值税..它从头到尾增加了 100..请检查代码
  • 请调试您的代码并检查 minValue 的初始值是多少,它是否曾经超过 10000。
  • 检查 minValue 的增量并告诉我当 minValue 超过 10000 时发生了什么?
  • 何时需要增加 500?我的意思是哪个值等于 10000?
猜你喜欢
  • 1970-01-01
  • 2014-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-05
  • 2015-07-21
  • 1970-01-01
  • 2012-04-05
相关资源
最近更新 更多