如果您将 TextField 聚焦在屏幕底部附近,键盘会出现片刻,然后立即隐藏。但是,如果您从上方聚焦一些 TextField,键盘将照常打开,您可以滚动到底部。如果 windowSoftInputMode 设置为 adjustResize,就会发生这种情况。如果没有设置,那么行为会变成我会说随机(键盘可能会重叠内容,也可能会推送工具栏等)。也许我只是做错了这一切,我不知道。我想知道是否有人以前遇到过这个问题并且可以帮助我。
示例代码(为简单起见,我在这里持有可变状态,不使用 ViewModel):
@Composable
fun Greeting() {
Scaffold(topBar = {
TopAppBar(title = { Text(text = "Some title") })
}) {
val focusManager = LocalFocusManager.current
LazyColumn(
contentPadding = PaddingValues(all = 16.dp),
verticalArrangement = Arrangement.spacedBy(space = 16.dp)
) {
items(count = 20) { index ->
val (value, onValueChange) = rememberSaveable { mutableStateOf("Some value $index") }
TextField(
value = value,
onValueChange = onValueChange,
modifier = Modifier.fillMaxWidth(),
label = { Text(text = "Some label $index") },
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Next),
keyboardActions = KeyboardActions(onNext = {
if (!focusManager.moveFocus(FocusDirection.Down))
focusManager.clearFocus()
}),
singleLine = true
)
}
}
}
}
撰写版本 1.0.5