android - Jetpack Compose 离散 slider 未显示确切的数字

标签 android android-jetpack-compose android-slider

我已经实现了一个像这样的离散 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())
}

输出: enter image description here

当我点击刻度线时,我期望得到确切的数字(例如 3、6、9、12、15、18)。但是,它显示最接近的浮点值。如何解决这个问题?

最佳答案

如果steps属性大于0,则指定离散值的数量,均匀分布在整个值范围内。

在这种情况下,您必须使用valueRange = 0f..21f

    Slider(
        //...
        valueRange = 0f..21f,
        steps = 6
    )

enter image description here

关于android - Jetpack Compose 离散 slider 未显示确切的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75184847/

相关文章:

java - 如何解决对对象列表进行排序时自定义比较器的意外行为?

android - 在 android studio 的后台服务中调用通知监听器

android - 如何在 jetpack compose 中使用 retrofit API 创建 ListView / GridView /回收器 View

android - 将自定义标签添加到 Material 范围 slider

android - 改造 2 第 1 行第 1 列路径的输入结束 $

android - 撰写 AlertDialog 不关闭

android - Jetpack 撰写,约束布局,其中一项垂直滚动

android - 如何从新的 android material design Slider 中获取值(value)

Android - 样式搜索栏

Android CallLog.Calls provider查询问题