Android Material3 滑块更改最后一个刻度线的颜色?

问题描述 投票:0回答:1
Slider(
    value = bankloanamounttopay,
    onValueChange = { newvalue -> bankloanamounttopay = newvalue },
    valueRange = 0f..maxbankloanpayoffamount(),
    steps = numbankslidersteps(),
    colors = SliderDefaults.colors().copy(
        thumbColor = moneyred(),
        activeTrackColor = moneyred(),

        activeTickColor = Color.Transparent,
        inactiveTickColor = Color.Transparent,
    )
)

我知道我可以更改内部刻度线的颜色,但最终的刻度线似乎使用与

activeTrackColor
相同的颜色。有什么方法可以独立于
activeTrackColor
控制最后一个刻度线的颜色吗?

screenshot of slider ui

android android-jetpack-compose android-jetpack-compose-material3
1个回答
0
投票

您可以覆盖

track
参数并使用默认的
SliderDefaults.Track
,但覆盖
drawStopIndicator
drawTick
参数:

val colors = SliderDefaults.colors().copy(
  thumbColor = moneyred(),
  activeTrackColor = moneyred(),
)
Slider(
    value = bankloanamounttopay,
    onValueChange = { newvalue -> bankloanamounttopay = newvalue },
    valueRange = 0f..maxbankloanpayoffamount(),
    steps = numbankslidersteps(),
    colors = colors,
    track = { state ->
      SliderDefaults.Track(
        sliderState = state,
        colors = colors,
        drawStopIndicator = null,
        drawTick = { _, _ -> },
      )
    }
)
© www.soinside.com 2019 - 2024. All rights reserved.