我试图有一个带有一些尾随文本的复选框。这个想法是,无论您选择复选框本身还是文本,值都会被切换。为了代码的简洁性,我已经在可组合项中完成了所有操作。
选择文本时它会按预期工作。但是当我专门按下该复选框时,什么也没有发生。我看到按下复选框会产生连锁反应,但它显然忽略了该行的可点击功能并点击onCheckChange = {}
我对可组合作用域并不完全熟悉,所以我认为这可能是由于它Row()是一个内联函数,所以我尝试对 the 应用相同的修饰符,Surface但这也不起作用。
从两个地点打同样的电话没什么大不了的,我只是想知道为什么。
@Composable
fun CheckboxInRowWithText() {
var checkedState by remember { mutableStateOf(false) }
Surface {
Row(
modifier = Modifier
.fillMaxWidth()
.clickable {
checkedState = !checkedState
},
verticalAlignment = Alignment.CenterVertically) {
Checkbox(checked = checkedState, onCheckedChange = {} )
Text(text = "Clicking this Row will toggle checkbox")
}
}
}
Run Code Online (Sandbox Code Playgroud) android android-jetpack-compose android-jetpack-compose-gesture