复选框可组合项不会禁用动画 - 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)
}