如何将搜索栏划分为2个不同的部分,并在Android中使用2个不同的默认步骤?

时间:2018-02-17 07:51:47

标签: android android-custom-view rangeseekbar

我正在用2个拇指创建一个自定义搜索栏,搜索栏范围是0-10000000,我的问题是我想将搜索栏分成2个相等的部分,第一部分范围是0-1000000默认步数为10000,第二部分范围为1000001-10000000,默认步长为100000。

1 个答案:

答案 0 :(得分:1)

GitHub上有一个库,您可以使用它来解决您的问题。这是图书馆here的链接

向build.gradle添加依赖项:

dependencies {
    compile 'com.crystal:crystalrangeseekbar:1.1.3'
}

回答你的问题: -

  1. 这是一个双拇指范围搜索栏。

  2. 您可以使用属性

    设置搜索栏的最小最大范围
    app:min_value="0" //minimum value
    app:max_value="150" // maximum value
    
  3. 您可以使用以下属性

    设置步长
    app:steps="5"// add required step size here
    
  4. 搜索栏的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));
        }
    });
    

    希望这可能会有所帮助!!感谢。