on the sliders presentation of the Material.io website they show the double thumbs slider below, but I can't find how to enable it, and I didnt really find any docs. Is it available for the android component?
You can use the Material Components Library.
Add the RangeSlider
component in your layout. Something like:
<com.google.android.material.slider.RangeSlider
android:id="@+id/slider_multiple_thumbs"
android:valueFrom="0"
android:valueTo="10"
../>
Then use the method setValues()
:
RangeSlider slider = findViewById(R.id.slider_multiple_thumbs);
slider.setValues(1.0f,5.0f);
The final result:
Note: This requires a minimum of version 1.2.0-beta01
Pls note that:
valueFrom
, and less or equal to valueTo
. If that is not the case, an IllegalArgumentException
will be thrown.IllegalArgumentException
will be thrown.With Compose you can use the RangeSlider
:
var sliderPosition by remember { mutableStateOf(0f..100f) }
RangeSlider(
modifier = Modifier.semantics { contentDescription = "Localized Description" },
value = sliderPosition,
onValueChange = { sliderPosition = it },
valueRange = 0f..100f,
onValueChangeFinished = {
// launch some business logic update with the state you hold
// viewModel.updateSelectedSliderValue(sliderPosition)
},
)
It is now available in the alpha-05-release: material-components
Use it by calling setValues()
with two values to enable two thumbs.
[2022 Update]
Now it exists RangeSlider
.
import androidx.compose.material.RangeSlider
import androidx.compose.material.Text
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
var sliderPosition by remember { mutableStateOf(0f..100f) }
Text(text = sliderPosition.toString())
RangeSlider(
values = sliderPosition,
onValueChange = { sliderPosition = it },
valueRange = 0f..100f,
onValueChangeFinished = {
// launch some business logic update with the state you hold
// viewModel.updateSelectedSliderValue(sliderPosition)
},
)
You can find all the documentation here: Material RangeSlider Doc
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