kotlin - How to remove the extra padding around the thumb of a Slider? - Stack Overflow

I recently updated material libraries and as I see now there is extra horizontal space around thumb, bu

I recently updated material libraries and as I see now there is extra horizontal space around thumb, but could not find any info about how to remove it. Has anyone found a way to solve this issue?

CompositionLocalProvider(LocalRippleConfiguration provides null) {
            Slider(
                value = sliderValue,
                onValueChange = { newValue ->
                    sliderValue = newValue
                    onValueChange(newValue)
                },
                valueRange = valueRange,
                steps = steps,
                thumb = {
                    Image(
                        painter = painterResource(R.drawable.ic_thumb_inverted),
                        contentDescription = null,
                        modifier = Modifier
                            .size(48.dp)
                            .testTag("thumb"),
                    )
                },
                track = { sliderState ->
                    SliderDefaults.Track(
                        drawStopIndicator = {},
                        modifier = Modifier
                            .scale(scaleX = 1f, scaleY = 0.8f),
                        sliderState = sliderState,
                        colors = SliderDefaults.colors(
                            activeTrackColor = neonBlue,
                            activeTickColor = Color.Transparent,
                            inactiveTickColor = Color.Transparent,
                            inactiveTrackColor = linkWater2Blue,
                            thumbColor = Color.Transparent,
                        ),
                    )
                },
                modifier = Modifier
                    .constrainAs(slider) {
                        start.linkTo(parent.start)
                        end.linkTo(parent.end)
                        top.linkTo(parent.top)
                        width = Dimension.fillToConstraints
                    }
                    .testTag("slider"),
            )
        }

I recently updated material libraries and as I see now there is extra horizontal space around thumb, but could not find any info about how to remove it. Has anyone found a way to solve this issue?

CompositionLocalProvider(LocalRippleConfiguration provides null) {
            Slider(
                value = sliderValue,
                onValueChange = { newValue ->
                    sliderValue = newValue
                    onValueChange(newValue)
                },
                valueRange = valueRange,
                steps = steps,
                thumb = {
                    Image(
                        painter = painterResource(R.drawable.ic_thumb_inverted),
                        contentDescription = null,
                        modifier = Modifier
                            .size(48.dp)
                            .testTag("thumb"),
                    )
                },
                track = { sliderState ->
                    SliderDefaults.Track(
                        drawStopIndicator = {},
                        modifier = Modifier
                            .scale(scaleX = 1f, scaleY = 0.8f),
                        sliderState = sliderState,
                        colors = SliderDefaults.colors(
                            activeTrackColor = neonBlue,
                            activeTickColor = Color.Transparent,
                            inactiveTickColor = Color.Transparent,
                            inactiveTrackColor = linkWater2Blue,
                            thumbColor = Color.Transparent,
                        ),
                    )
                },
                modifier = Modifier
                    .constrainAs(slider) {
                        start.linkTo(parent.start)
                        end.linkTo(parent.end)
                        top.linkTo(parent.top)
                        width = Dimension.fillToConstraints
                    }
                    .testTag("slider"),
            )
        }

Share Improve this question edited Dec 3, 2024 at 10:05 BenjyTec 11.2k4 gold badges24 silver badges50 bronze badges asked Nov 16, 2024 at 15:24 Javokhir SherbaevJavokhir Sherbaev 1512 silver badges7 bronze badges 0
Add a comment  | 

1 Answer 1

Reset to default 3

The Material3 Design Guidelines specify that there should be this gap of width 6.dp on both sides of the handle. However, you can modify this using the thumbTrackGapSize parameter of SliderDefaults.Track Composable:

Slider(
    //...
    track = { sliderState ->
        SliderDefaults.Track(
            sliderState = sliderState,
            thumbTrackGapSize = 0.dp,
            //...
        )
    }
)

Output:

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745654895a4638484.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信