Mikael Alfredsson
12/28/2021, 3:28 PMvalue
when the user isn’t touching it?Stylianos Gakis
12/28/2021, 8:53 PMMikael Alfredsson
12/28/2021, 8:55 PMsource of truth
to be updated (source of truth is remote and can be updated from several clients, normally not at the same time)Mikael Alfredsson
12/28/2021, 8:55 PMStylianos Gakis
12/29/2021, 1:48 AMMikael Alfredsson
12/29/2021, 7:44 AMMikael Alfredsson
12/29/2021, 7:44 AMStylianos Gakis
12/29/2021, 8:25 AMMikael Alfredsson
12/29/2021, 8:30 AMStylianos Gakis
12/29/2021, 8:36 AMMikael Alfredsson
12/29/2021, 8:40 AMMikael Alfredsson
12/29/2021, 8:40 AMStylianos Gakis
12/29/2021, 8:45 AMonValueChangeFinished
lambda which does exactly that, but as you said, your use case requires the constant changing anyway so this doesn’t help either unfortunatelyMikael Alfredsson
12/29/2021, 8:47 AMStylianos Gakis
12/29/2021, 8:50 AMMikael Alfredsson
12/29/2021, 8:54 AMonValueChangedFinished
hint, not sure how i missed it, but i wouldn’t have found it so quickly without you pointing it out. Thanks.Stylianos Gakis
12/29/2021, 9:01 AMMikael Alfredsson
12/29/2021, 11:09 AM@Composable
fun UpdatingSlider(value: Float, onValueChange: (Float) -> Unit) {
var innerValue by remember { mutableStateOf(0f) }
var dragging by remember { mutableStateOf(false) }
if (!dragging) innerValue = value
Slider(
value = innerValue,
onValueChangeFinished = {
dragging = false
},
onValueChange = {
dragging = true
innerValue = it
onValueChange(it)
}
)
}
Mikael Alfredsson
12/29/2021, 11:10 AM@Preview
@Composable
fun UpdatingSliderPreview() {
var position by remember { mutableStateOf(0f) }
UpdatingSlider(position) {
println(it)
}
LaunchedEffect(Unit) {
var updater = 0f
while (true) {
delay(1000)
position = sin(updater)
updater += 0.1f
while (updater > 1f) updater -= 1f
}
}
}
Stylianos Gakis
12/29/2021, 12:14 PM