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

如何在Jetpack Compose中给Card仅添加左侧边框

如何给Jetpack Compose的Card仅添加左侧边框

当你使用border(BorderStroke(1.dp, color = purple))时,会给Card的四个边都加上边框。要实现仅左侧边框,可以试试以下两种实用方案:

方案一:用drawBehind自定义绘制(推荐)

这种方式轻量直接,在Card的背景层后方绘制左侧竖线,精准控制边框样式:

Card(
    modifier = Modifier
        .drawBehind {
            drawLine(
                color = purple,
                start = Offset(x = 0f, y = 0f),
                end = Offset(x = 0f, y = size.height),
                strokeWidth = 1.dp.toPx()
            )
        },
    // 可添加你的Card配置:elevation、shape等
) {
    // 这里放置Card的内容
}

注意要把dp转换为像素(toPx()),保证在不同分辨率设备上显示一致。如果你的Card带圆角,可调整绘制的起点/终点来贴合圆角,默认圆角场景下上面的代码足够使用。

方案二:嵌套Box+Spacer

如果需要边框显示在Card上层,可通过Box嵌套,在左侧放置带颜色的Spacer:

Box {
    Card(
        modifier = Modifier.fillMaxSize(),
        backgroundColor = MaterialTheme.colorScheme.surface
    ) {
        // Card内容
    }
    Spacer(
        modifier = Modifier
            .fillMaxHeight()
            .width(1.dp)
            .background(purple)
            .align(Alignment.CenterStart)
    )
}

内容的提问来源于stack exchange,提问作者MChak

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 08:12:05