A SeekBarView restrained by a minimum and maximum value

SeekBarRangedView

Back in 2014 I contributed to this project by adding a few functionalities to RangeSeekBar.java. The repo had no activity since then, so I've decided to extend it and continue. Credits must be shared with Nick Knudson ;)

Version 2.x

  • October, 2019 - Thumbs by drawable better support
  • August, 2019 - Progress-by-Step added

Version 1.x

  • March, 2018 - Programmatically change max and min values
  • August, 2017 - SeekBarRangedView

Getting started

Include it into your project, for example, as a Gradle compile dependency:

implementation 'com.github.guilhe:seekbar-ranged-view:${LATEST_VERSION}'

Sample usage

Check out the sample module where you can find a few examples of how to create it by xml or java.

Attributes accepted in xml:

<resources>
        <attr name="min" format="float"/>
        <attr name="max" format="float"/>
        <attr name="currentMin" format="float"/>
        <attr name="currentMax" format="float"/>
        <attr name="rounded" format="boolean"/>
        <attr name="backgroundColor" format="color"/>
        <attr name="backgroundHeight" format="dimension"/>
        <attr name="progressColor" format="color"/>
        <attr name="progressHeight" format="dimension"/>
        <attr name="thumbsResource" format="reference"/>
        <attr name="thumbNormalResource" format="reference"/>
        <attr name="thumbPressedResource" format="reference"/>
</resources>

Example:

<com.github.guilhe.views.SeekBarRangedView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        custom:currentMin="10"
        custom:backgroundColor="#C0C0C0"
        custom:progressColor="@color/progress_bar_line"
        custom:backgroundHeight="10dp"
        custom:progressHeight="20dp"
        custom:rounded="true"/>

For android:layout_height you should use "wrap_content":

otherwise you'll be adding "margins" to your view (ex, android:layout_height="200dp"):

If you want to change its height, use the backgroundHeight and/or progressHeight attributes instead:

There are many methods to help you customize this View by code. For more details checkout the sample app, javadocs or the code itself.

Sample

Animation last update on November, 2018 (outdated)

GitHub