android 如何将涟漪效果只应用于按钮背景,而不是内容?

ttp71kqs  于 2023-06-27  发布在  Android
关注(0)|答案(1)|浏览(141)

在XML中,涟漪效果仅应用于材质按钮的背景,而在撰写上,当按钮被按下时,它覆盖整个按钮,也部分覆盖文本。
我想匹配涟漪实现,因为它是在XML上,所以它不适用于按钮文本的视觉效果,只有背景。
任何帮助都很感激。
下面是按下“撰写”按钮的屏幕截图,此时涟漪(黄色)覆盖了文本。

下面是XML版本,其中黄色涟漪仅应用于Button的背景。

a0x5cqrl

a0x5cqrl1#

目前,使用按钮AFAIK无法实现这一点。我会尝试将按钮替换为Box + Text。就像这样:

  1. @Composable
  2. fun RippleButton() {
  3. Box(
  4. modifier = Modifier
  5. ...
  6. .clickable(
  7. interactionSource = MutableInteractionSource(),
  8. indication = rememberRipple(color = Color.DarkGray),
  9. onClick = { /* your code here */ }),
  10. contentAlignment = Alignment.Center
  11. ) {
  12. Text(...)
  13. }
  14. }

相关问题