@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 作为桌面版本 (0.5.0-build245) 但也可以和 android 的 jetpack-compose 一样(没试过)
答案 0 :(得分:0)
暂时,因为我找不到任何其他解决方案,所以我将使用此解决方法 在文本字段上方使用一个不可见的框并相应地更改状态
@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()
}),
)
}
}
}
}
}