1

有没有办法改变滑块拇指的大小?我认为现在我们只能操纵颜色

var sliderPosition by remember { mutableStateOf(0f) }
Text(text = sliderPosition.toString())
Slider(
    value = sliderPosition,
    onValueChange = { sliderPosition = it },
    valueRange = 0f..100f,
    onValueChangeFinished = {
        // launch some business logic update with the state you hold
        // viewModel.updateSelectedSliderValue(sliderPosition)
    },
    steps = 5,
    colors = SliderDefaults.colors(
        thumbColor = MaterialTheme.colors.secondary,
        activeTrackColor = MaterialTheme.colors.secondary
    )
)

Jetpack-Compose 滑块

4

2 回答 2

2

不,这个尺寸不能修改。您唯一能做的就是将整个Slider.kt文件复制到您的项目中并进行修改。

给新视图起一个不同的名称是个好主意,以避免将来产生误解。

ThumbRadius如果您的应用程序需要不同的大小,您应该更改常量,或者将其设为变量。

于 2021-09-04T08:18:46.773 回答
0

我创建了一个用于轻松自定义 Slider 的库,因为 Material 包中的 Slider 不灵活。 https://github.com/krottv/compose-sliders。下面是如何使用它来缩小拇指大小的代码示例:

var stateSlider by remember { mutableStateOf(0.5f) }
SliderValueHorizontal(
    stateSlider, { stateSlider = it },
    modifier = Modifier
        .fillMaxWidth(),
    // desired size of Slider's thumb
    thumbSize = DpSize(8.dp, 8.dp)
)

您还可以为拇指和轨道指定自定义组合。

于 2021-11-19T15:17:41.023 回答