18 10 月, 2023
By: LiHan
Jetpack Compose – NoRippleClick
Result
Modifier Extension
Kotlin
fun Modifier.noRippleClick(
onClick : () -> Unit
) : Modifier = composed {
clickable(
indication = null,
interactionSource = remember {
MutableInteractionSource()
},
onClick = onClick
)
}
NoRipple
CompositionLocalProvider remove NoRippleTheme
Kotlin
fun XXXScreen(){
var count by remember {
mutableStateOf(0)
}
Text(text = "Count : $count")
CompositionLocalProvider(LocalRippleTheme provides NoRippleTheme) {
IconButton(
onClick = {
count+=1
}
) {
Icon(
imageVector = Icons.Default.AddCircle,
contentDescription = "Count Add",
tint = Color.Blue
)
}
}
}
private object NoRippleTheme : RippleTheme {
@Composable
override fun defaultColor() = Color.Unspecified
@Composable
override fun rippleAlpha(): RippleAlpha = RippleAlpha(0.0f,0.0f,0.0f,0.0f)
}