如何在Jetpack Compose中使用Material3设置卡片的高度

43
我在Jetpack Compose中创建了一个简单的卡片,这里我设置了阴影,但是显示出了类型不匹配的错误。
Card(
            shape = RoundedCornerShape(20.dp),elevation = 10.dp
        ) {
            Box(modifier = Modifier.height(200.dp)) {
                Image(painter = painter, contentDescription = contentDescription,
                contentScale = ContentScale.Crop)
            }

    }

An image of an error appearing in an editor. The error reads, "Type mismatch. Required: CardElevation. Found: Dp."

2个回答

125

您正在使用 M3 (androidx.compose.material3) 的 Card 组件,并且 elevation 属性需要一个 CardElevation 对象:

类似这样:

类似这样:

Card(
    shape = RoundedCornerShape(20.dp),
    elevation = CardDefaults.cardElevation(
        defaultElevation = 10.dp
    )
)

由于某种原因,它还会改变容器的颜色。 - user924
表面的颜色会根据高度变化而改变(https://developer.android.com/jetpack/compose/designsystems/material3#elevation)。点击此处查看解决方案:https://stackoverflow.com/a/76160786 - undefined

1
我们可以使用以下方法在Android Compose中给卡片添加高度。
Card(elevation = CardDefaults.cardElevation(
    defaultElevation = 10.dp))

导入
import androidx.compose.material3.Card

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接