You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

androidx.compose.material3 1.3.0中LinearProgressIndicator显示分裂求助

解决Material3 1.3.0中LinearProgressIndicator显示异常问题

你遇到的是Material3 1.3.0版本对LinearProgressIndicator绘制逻辑调整后出现的兼容性问题——当设置strokeCap = StrokeCap.Round且进度条高度较大时,组件会错误地将进度末端渲染为独立圆点,导致进度条分裂。以下是两种可行的修复方案:

方案1:调整strokeCap参数

移除strokeCap设置,或者将其改为StrokeCap.Butt,即可恢复连续的进度条显示:

@Composable
fun CustomProgressBar() {
    LinearProgressIndicator(
        progress = { 0.5f },
        trackColor = Color.Gray,
        modifier = Modifier
            .width(200.dp)
            .height(15.dp),
        color = Color.Blue,
        strokeCap = StrokeCap.Butt
    )
}

方案2:自定义绘制进度条

如果需要保留圆角效果,可以完全自定义进度条的绘制逻辑,避免依赖系统组件的问题:

@Composable
fun CustomProgressBar() {
    val progressValue = 0.5f
    Box(
        modifier = Modifier
            .width(200.dp)
            .height(15.dp)
            .background(Color.Gray, shape = RoundedCornerShape(15.dp))
    ) {
        Box(
            modifier = Modifier
                .fillMaxHeight()
                .fillMaxWidth(progressValue)
                .background(Color.Blue, shape = RoundedCornerShape(15.dp))
        )
    }
}

这个问题是Material3 1.3.0版本的已知兼容性问题,后续官方版本可能会修复,当前可以通过上述方案临时解决。

内容的提问来源于stack exchange,提问作者Alperen İmamoğlu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 22:44:54