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

Jetpack Compose:带Elevation的Card阴影无圆角问题求助

解决Jetpack Compose中Card带Elevation时阴影无圆角的问题

问题出在你没给Card指定shape属性——默认Card的形状是直角的,即便你没看到直角边缘,阴影依然会按照默认的直角来渲染。只需要给Card添加shape参数,指定你想要的圆角形状,阴影就会自动适配圆角。

修改你代码里的Card部分,添加shape参数即可:

Card(
    modifier = Modifier
        .align(Alignment.BottomEnd)
        .offset(y = 20.dp)
        .padding(end = 16.dp),
    colors = CardDefaults.cardColors(containerColor = Color.White),
    elevation = CardDefaults.cardElevation(defaultElevation = 8.dp),
    shape = RoundedCornerShape(8.dp) // 这里添加圆角形状,数值可按需调整
) {
    Column(
        modifier = Modifier
            .padding(top = 8.dp, end = 16.dp, bottom = 4.dp, start = 16.dp),
        horizontalAlignment = Alignment.End
    ) {
        Text(
            color = Color.Red,
            fontWeight = FontWeight.SemiBold,
            fontSize = 18.sp,
            text = "$ 61,569"
        )

        Text(
            color = Color.Gray,
            fontSize = 10.sp,
            text = "1 night with taxes"
        )
    }
}

原理是:Jetpack Compose中Card的阴影形状由其shape属性控制,默认值为RectangleShape(直角)。当你显式设置圆角形状后,阴影会跟随这个形状生成,就能实现带圆角的阴影效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 14:06:06