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
相关产品推荐
相关产品推荐

