我正在尝试为Compose TextField实现一个onClick处理程序。当前功能是处理TextField的单击事件,但禁用手动编辑字段。对于我的用例,我想处理点击并执行其他操作。我希望保留TextField的外观和感觉,并希望焦点动画也发生。
readOnly属性从用户体验角度给了我想要的结果,但当我单击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相对较新,很难确定这是一个错误还是故意的。