@Composable
fun init() {
LazyColumn(Modifier.fillMaxSize()) {
for (i in 0..10) {
item { Box(Modifier.padding(15.dp)) { TextField("Hallo$i", modifier = Modifier.fillMaxWidth(), onValueChange = {}) } }
}
}
}如果我有像这个带有文本字段的列表这样简单的东西,那么文本字段不会让我向下滚动列。只有当我向下滚动到文本字段旁边时才有效。还尝试了只读/禁用文本字段。
有没有办法克服这种行为?也许有一种方法可以在滚动时禁用文本字段上的焦点?
我使用的是jetbrains-compose for desktop版本(0.5.0-build245),但也可以与jetpack-compose for android相同(没有尝试)
发布于 2021-07-19 05:17:30
目前,由于我找不到任何其他解决方案,我将使用文本字段上方的不可见框来解决此问题,并相应地更改状态
@Composable
fun init() {
LazyColumn(Modifier.fillMaxSize()) {
for (i in 0..10) {
item {
val isfocused = remember { mutableStateOf(false) }
val focusRequester = FocusRequester()
Box(Modifier.padding(15.dp)) {
TextField("Hallo$i", modifier = Modifier.fillMaxWidth().focusRequester(focusRequester).onFocusChanged {
isfocused.value = it.isFocused
}, onValueChange = {})
if (!isfocused.value)
Box(
modifier = Modifier
.matchParentSize()
.alpha(0f)
.clickable(onClick = {
isfocused.value = true
focusRequester.requestFocus()
}),
)
}
}
}
}
}https://stackoverflow.com/questions/68431554
复制相似问题