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

如何在Jetpack Compose中实现Material Design 3风格的现代Card组件

Compose 实现谷歌应用风格现代化Card组件方案

方案1:使用最新 Compose Material3 官方内置组件(推荐)

升级你的 Compose Material3 依赖到 1.2.0 及以上版本,直接调用ElevatedCard组件即可,默认效果和你要的谷歌应用内卡片完全匹配:

ElevatedCard(
    modifier = Modifier.padding(16.dp),
    shape = RoundedCornerShape(16.dp), // 可根据需求调整圆角,谷歌官方常用12-16dp
    elevation = CardDefaults.elevatedCardElevation(
        defaultElevation = 2.dp // 低抬高值实现柔和阴影效果
    )
) {
    // 此处填写卡片内部内容
    Text(
        text = "示例内容",
        modifier = Modifier.padding(16.dp)
    )
}

该组件默认无任何边框,自带的阴影算法生成的效果就是你需要的轻微抬高+柔和阴影质感。

方案2:自定义 Modifier 实现(无需升级依赖)

如果暂时无法升级 Compose Material3 版本,自行配置阴影参数也能实现相同效果,之前调试失败大概率是阴影抬高值和透明度没有匹配对:

Card(
    modifier = Modifier
        .padding(16.dp)
        .shadow(
            elevation = 2.dp,
            shape = RoundedCornerShape(16.dp),
            ambientColor = Color.Black.copy(alpha = 0.05f),
            spotColor = Color.Black.copy(alpha = 0.1f)
        ),
    shape = RoundedCornerShape(16.dp),
    border = null,
    backgroundColor = Color.White,
    elevation = 0.dp // 关闭Card自带默认抬高,使用自定义shadow的效果
) {
    // 此处填写卡片内部内容
}

效果调试注意事项

  • 柔和阴影的核心是抬高值不超过3dp,抬高值越高阴影边缘越硬
  • 暗色主题下将阴影的alpha值调低50%左右,效果更自然
  • 圆角数值建议统一使用12/16dp,和谷歌官方设计规范对齐

内容的提问来源于stack exchange,提问作者Jared Bts.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 18:36:04