嗨,我使用给定的示例创建了一个两个拇指范围的搜索栏..但现在我遇到了一个问题.. 现在我正在获取最小值和最大值部分。下一个问题是定制 搜索栏中 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/