Hai我使用给定的例子创建了一个两个拇指范围搜索栏。但是现在我遇到了一个问题.. 现在我获得了最小值和最大值部分。下一个问题是有自定义 搜索条中滑块的值。就像我想要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);
答案 0 :(得分:2)
我正在详细阐述 rentires 的想法。所以你需要做的是将你的最小和最大范围除以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
。 (这可确保在用户拖动onRangeSeekBarValuesChanged
时)始终调用RangeSeekBar
方法。
seekBar.setNotifyWhileDragging(true);