[英]Jetpack Compose Discrete Slider is not showing the exact numbers
我已经实现了一个离散的 slider,如下所示:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
YourProjectNameTheme(darkTheme = false) {
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colors.background
) {
Column(
modifier = Modifier
.fillMaxSize()
.padding(all = 4.dp),
verticalArrangement = Arrangement.Center,
horizontalAlignment = Alignment.CenterHorizontally
) {
MyUI()
}
}
}
}
}
}
@Composable
private fun MyUI() {
var sliderValue by remember {
mutableStateOf(1f)
}
Slider(
value = sliderValue,
onValueChange = { sliderValue_ ->
sliderValue = sliderValue_
},
onValueChangeFinished = {
// this is called when the user completed selecting the value
},
valueRange = 1f..21f,
steps = 6
)
Text(text = sliderValue.toString())
}
当我点击刻度线时,我期待确切的数字(如 3、6、9、12、15、18)。 但是,它显示的是最接近的浮点值。 如何解决这个问题?
那是因为你是从1而不是0开始的。请相应地规划值和步骤,
@Preview
@Composable
private fun MyUI() {
var sliderValue by remember {
mutableStateOf(0)
}
Slider(value = sliderValue.toFloat(), onValueChange = { sliderValue_ ->
sliderValue = sliderValue_.toInt()
}, onValueChangeFinished = {
// this is called when the user completed selecting the value
}, valueRange = 0f..21f, steps = 6
)
Text(text = sliderValue.toString())
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.