【发布时间】:2021-05-11 19:44:01
【问题描述】:
我正在尝试为 Compose TextField 实现 onClick 处理程序。当前功能是处理 TextField 单击但禁用手动编辑该字段。对于我的用例,我想处理点击并做其他事情。我想保持 TextField 的外观和感觉,并希望焦点动画也发生。
readOnly 属性从 UX 角度为我提供了我想要的东西,但是当我单击 TextField 时,不会调用 onClick 处理程序。
TextField(
value = text,
onValueChange = { text = it},
readOnly = true,
modifier = Modifier
.clickable(onClick = {
Log.i("TextField", "Clicked")
})
)
我也尝试过使用pointerInput,我怎么也遇到了同样的问题。
TextField(
value = text,
onValueChange = { text = it},
readOnly = true,
modifier = Modifier
.pointerInput(Unit) {
detectTapGestures(onTap = {
Log.i("TextField", "Clicked")
}
}
)
由于 Compose 如此新,很难判断这是一个错误还是有意为之。
【问题讨论】:
标签: android kotlin android-jetpack-compose