Kwik Slider
fun KwikSlider(modifier: Modifier = Modifier, value: Float = 10.0f, onValueChange: (Float) -> Unit, valueRange: ClosedFloatingPointRange<Float> = 0f..100f, enabled: Boolean = true, thumb: @Composable () -> Unit = {
SliderDefaults.Thumb(
interactionSource = remember { MutableInteractionSource() },
thumbSize = DpSize(10.dp, 25.dp)
)
}, track: @Composable (SliderState) -> Unit = { sliderState ->
SliderDefaults.Track(
sliderState = sliderState,
modifier = Modifier.height(6.dp),
thumbTrackGapSize = 0.dp,
colors = SliderDefaults.colors(
activeTrackColor = MaterialTheme.colorScheme.primary,
inactiveTrackColor = Color.LightGray,
activeTickColor = Color.Transparent,
inactiveTickColor = Color.Transparent
)
)
})
A slider component
Parameters
value
Float value of the slider. Default is 0f
on Value Change
(Float) -> Unit called when the value of the slider changes
value Range
ClosedFloatingPointRange
enabled
Boolean whether the slider is enabled or not
thumb
@Composable () -> Unit custom thumb
track
@Composable (RangeSliderState) -> Unit custom track
Usage:
var sliderPosition by remember { mutableFloatStateOf(10f) }
KwikSlider(
value = sliderPosition,
onValueChange = { value ->
sliderPosition = value
}
)
Content copied to clipboard