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

Android Material3中如何修改Card按下时的涟漪效果颜色?

修改Android Compose Material3 Card的按压涟漪颜色

要修改Material3 Card按下时的涟漪效果颜色,CardDefaults.cardColors()无法实现该需求,需要自定义涟漪指示器(Indication),具体实现方式如下:

方法1:通过clickable修饰符配置

直接给Card添加clickable修饰符,传入自定义的涟漪效果:

Card(
    colors = CardDefaults.cardColors(containerColor = Color.White),
    modifier = Modifier
        .clickable(
            interactionSource = remember { MutableInteractionSource() },
            indication = rememberRipple(color = Color.Red) // 指定按压涟漪的颜色
        ) {
            // 点击事件逻辑
        }
) {
    Text(text = "自定义涟漪颜色的Card")
}

方法2:利用Card自带的onClick参数配置

如果使用Card原生的onClick参数,需要同时指定interactionSource和indication:

val interactionSource = remember { MutableInteractionSource() }
Card(
    colors = CardDefaults.cardColors(containerColor = Color.White),
    onClick = { /* 点击事件逻辑 */ },
    interactionSource = interactionSource,
    indication = rememberRipple(color = Color.Blue)
) {
    Text(text = "通过Card参数设置涟漪颜色")
}

额外配置

  • 可通过radius参数调整涟漪的扩散范围:
    rememberRipple(color = Color.Green, radius = 32.dp)
    
  • 建议结合主题颜色保持风格统一,比如使用主题主色并调整透明度:
    rememberRipple(color = MaterialTheme.colorScheme.primary.copy(alpha = 0.3f))
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 08:05:21