我正在用2个拇指创建一个自定义搜索栏,搜索栏范围是0-10000000,我的问题是我想将搜索栏分成2个相等的部分,第一部分范围是0-1000000默认步数为10000,第二部分范围为1000001-10000000,默认步长为100000。
答案 0 :(得分:1)
GitHub上有一个库,您可以使用它来解决您的问题。这是图书馆here的链接
向build.gradle添加依赖项:
dependencies {
compile 'com.crystal:crystalrangeseekbar:1.1.3'
}
回答你的问题: -
这是一个双拇指范围搜索栏。
您可以使用属性
设置搜索栏的最小和最大范围app:min_value="0" //minimum value
app:max_value="150" // maximum value
您可以使用以下属性
设置步长app:steps="5"// add required step size here
搜索栏的XML代码如下所示: -
<com.crystal.crystalrangeseekbar.widgets.BubbleThumbSeekbar
android:id="@+id/rangeSeekbar3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:corner_radius="10"
app:min_value="0"
app:max_value="100"
app:steps="5"
app:bar_color="#F7BB88"
app:bar_highlight_color="#E07416"
app:left_thumb_image="@drawable/thumb"
app:left_thumb_image_pressed="@drawable/thumb_pressed"
app:data_type="_integer"/>
在java类中,你可以像这样强制setOnSeekbarChangeListener()
: -
final CrystalSeekbar seekbar = new CrystalSeekbar(getActivity());
// get min and max text view
final TextView tvMin = (TextView) rootView.findViewById(R.id.textMin5);
final TextView tvMax = (TextView) rootView.findViewById(R.id.textMax5);
// set listener
seekbar.setOnSeekbarChangeListener(new OnSeekbarChangeListener() {
@Override
public void valueChanged(Number minValue) {
tvMin.setText(String.valueOf(minValue));
}
});
希望这可能会有所帮助!!感谢。