复选框可组合项不会禁用动画 - Android Jetpack Compose
Checkbox Composable Won't Disable Animation - Android Jetpack Compose
有没有办法禁用可组合复选框上的指示动画?
将 indication = null
参数添加到 .clickable
修饰符的典型路径似乎不起作用。
当我查看文档时,它只是指导我使用不同的修饰符。
Checkbox Composable Documentation
Checkbox(
checked = checkedState.value,
onCheckedChange = {vm.HandleListItemClick(optionItems, i, checkedState)},
modifier = Modifier
.clickable(
interactionSource = interactionSource,
indication = null,
enabled = true,
onClickLabel = "${optionItems[i].label} checkbox selected status is ${checkedState.value}",
role = null,
){},
enabled = true,
)
它不起作用,因为 Checkbox
在实现中定义了自定义 indication
。
您可以提供自定义 LocalRippleTheme
来覆盖默认行为。
类似于:
CompositionLocalProvider(LocalRippleTheme provides NoRippleTheme) {
val checkedState = remember { mutableStateOf(true) }
Checkbox(
checked = checkedState.value,
onCheckedChange = { checkedState.value = it }
)
}
private object NoRippleTheme : RippleTheme {
@Composable
override fun defaultColor() = Color.Unspecified
@Composable
override fun rippleAlpha(): RippleAlpha = RippleAlpha(0.0f,0.0f,0.0f,0.0f)
}
有没有办法禁用可组合复选框上的指示动画?
将 indication = null
参数添加到 .clickable
修饰符的典型路径似乎不起作用。
当我查看文档时,它只是指导我使用不同的修饰符。
Checkbox Composable Documentation
Checkbox(
checked = checkedState.value,
onCheckedChange = {vm.HandleListItemClick(optionItems, i, checkedState)},
modifier = Modifier
.clickable(
interactionSource = interactionSource,
indication = null,
enabled = true,
onClickLabel = "${optionItems[i].label} checkbox selected status is ${checkedState.value}",
role = null,
){},
enabled = true,
)
它不起作用,因为 Checkbox
在实现中定义了自定义 indication
。
您可以提供自定义 LocalRippleTheme
来覆盖默认行为。
类似于:
CompositionLocalProvider(LocalRippleTheme provides NoRippleTheme) {
val checkedState = remember { mutableStateOf(true) }
Checkbox(
checked = checkedState.value,
onCheckedChange = { checkedState.value = it }
)
}
private object NoRippleTheme : RippleTheme {
@Composable
override fun defaultColor() = Color.Unspecified
@Composable
override fun rippleAlpha(): RippleAlpha = RippleAlpha(0.0f,0.0f,0.0f,0.0f)
}