I too was looking for this, to no avail. So I made a new widget, feel free to use it: https://github.com/anothem/android-range-seek-bar
"I too was looking for this, to no avail. So I made a new widget, feel free to use it: https://code.google.com/p/range-seek-bar/"
This example Stephan linked works great! However, the user has to press any of the thumbs to get a respons. I wanted that if the user pressed the bar, the closest thumb would move to that position and work like normal.
I implemented this in the example code like this:
private final Thumb getClosestThumb(float touchX)
{
double xValue = screenToNormalized(touchX);
return (Math.abs(xValue - normalizedMinValue) < Math.abs(xValue - normalizedMaxValue)) ? Thumb.MIN : Thumb.MAX;
}
And in the "public boolean onTouchEvent(MotionEvent event)
",
if(pressedThumb == null),
pressedThumb = getClosestThumb(mDownMotionX);
A windowed seek bar with left and right icons.
Presettable minimum window size and automatic anti crossover.
Mercurial repository at https://bitbucket.org/nimbusgb/windowed-seek-bar
I have used the anothem/android-range-seek-bar library
https://github.com/anothem/android-range-seek-bar
In xml
<org.florescu.android.rangeseekbar.RangeSeekBar
android:id="@+id/pricebar_with_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
rsb:absoluteMinValue="20"
rsb:absoluteMaxValue="150"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
/>
Incase you are using any of the material components such as: Snackbar, BottomNavigationView
etc. you don't have to use another 3rd party library.
The material library also ships with RangeSlider which can be used to select a range of values.
Material library - implementation 'com.google.android.material:material:latestVersion'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With