我正在尝试使用 Android Studio 编写 Android 应用程序。
看来最新的android studio只允许Kotlin。
我想要一个函数来生成一个滑块,该滑块将采用 0 到 1023 之间的起始值并返回同一范围内的新值。
我找到了一个例子,但我完全迷失了(我习惯了C)
这就是我目前拥有的,
@Composable
fun getValue():Float{
return(513f)
}
@Preview
@Composable
fun SliderMinimalExample(){
var sliderPosition by remember{mutableFloatStateOf(512f)}
sliderPosition=getValue() //returns 513
Column {
Slider(
value = sliderPosition,
onValueChange = { sliderPosition = it.roundToInt().toFloat() },
//steps=0,
valueRange=0f..1023f
)
Text(text = sliderPosition.toString())
}
}
这种方式可以工作,从 512 开始,但当它从 getValue 获取值时,会更改为 513。 但是,我无法移动滑块,它卡在 513 上。 Android studio 添加了上面复制/粘贴中未显示的额外位, IE。
任何人都可以给我指出一个我可能理解的例子吗?
谢谢,
您添加了一个方法来获取 SliderPosition 的值:
@Composable
fun getValue():Float{
return(513f)
}
你根本不需要这样做。这就是为什么该值始终为 513。
删除该方法及其调用,并将其放入可组合项中:
@Composable
fun SliderMinimalExample() {
var sliderPosition by remember { mutableFloatStateOf(512f) }
Column {
Slider(
value = sliderPosition,
onValueChange = { sliderPosition = it.roundToInt().toFloat() },
valueRange=0f..1023f
)
Text(text = sliderPosition.toString())
}
}