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

Jetpack Compose Material3中设置Card Elevation遇类型不匹配问题求解

解决Jetpack Compose Card组件Elevation类型不匹配问题

错误原因很明确:你给elevation传的10.dp是Dp类型,但Card组件的elevation参数要求的是CardElevation类型,因此出现类型不匹配。

修正方法是用CardDefaults.cardElevation()方法生成符合要求的CardElevation对象,具体代码如下:

Card(
    shape = RoundedCornerShape(20.dp),
    elevation = CardDefaults.cardElevation(defaultElevation = 10.dp)
) {
    Box(modifier = Modifier.height(200.dp)) {
        Image(
            painter = painter,
            contentDescription = contentDescription,
            contentScale = ContentScale.Crop
        )
    }
}

如果需要给不同交互状态设置不同的阴影高度,还可以在cardElevation()里额外指定其他参数,比如:

Card(
    shape = RoundedCornerShape(20.dp),
    elevation = CardDefaults.cardElevation(
        defaultElevation = 10.dp,
        pressedElevation = 15.dp,
        hoveredElevation = 12.dp
    )
) {
    // 内部内容
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 19:10:28