安卓compose 自定义水波纹
时间: 2023-08-06 15:01:57 浏览: 70
在 Android Compose 中,可以通过 `Modifier.clickable` 来实现点击事件的响应,同时也支持自定义水波纹效果。以下是一个简单的自定义水波纹实现代码:
```kotlin
@Composable
fun RippleButton(
onClick: () -> Unit,
content: @Composable () -> Unit
) {
val interactionSource = remember { MutableInteractionSource() }
val ripple = rememberRipple(bounded = false, radius = 48.dp)
Box(
modifier = Modifier
.clickable(
interactionSource = interactionSource,
indication = ripple,
onClick = onClick
)
.background(color = Color.Blue),
contentAlignment = Alignment.Center
) {
content()
}
}
```
在上述代码中,我们使用 `Modifier.clickable` 创建一个可点击的组合修饰符,并通过 `rememberRipple` 来创建一个水波纹效果。我们可以设置水波纹的半径、颜色、边界等属性。
最后,我们将自定义的 `RippleButton` 组件嵌套在 `Box` 中,并设置 `background` 为蓝色,同时将 `content` 居中显示。
使用时,可以直接在 Composable 函数中调用 `RippleButton` 组件,传入相应的参数即可:
```kotlin
RippleButton(onClick = { /* 点击事件处理 */ }) {
Text(text = "Click me!")
}
```
这样就可以实现一个自定义水波纹效果的按钮了。