我做了一个滑块,有 12 个点。我希望
onValueChange
仅在 0.0、1.0 等直至 11.0 时被解雇。
这是我的代码:
var sliderPosition by remember { mutableFloatStateOf(0f) }
Slider(
value = sliderPosition,
onValueChange = { it ->
sliderPosition = it
Log.d("check--", "onValueChange: $it")
},
valueRange = 0f..11f,
steps = 10
)
当从 6 号点滑动到 7 号点时,我看到这个:
onValueChange: 6.0
这是我所期望的,但是当我从7号点滑动到8号点时,我看到了这个:
onValueChange: 7.0000005
onValueChange: 7.0000005
onValueChange: 7.0000005
我想我以前没有这个问题,我不确定我改变了什么,也许是
sliderPosition
的类型...
有人可以帮助我吗?
您可以使用以下代码
var sliderPosition by remember { mutableFloatStateOf(0f) }
Slider(
value = sliderPosition,
onValueChange = {
sliderPosition = round(it)
Log.d("check--", "onValueChange: $it")
},
valueRange = 0f..11f,
steps = 10
)