Mar*_*vel 3 android android-jetpack-compose
我有以下代码:
Box(
Modifier.fillMaxWidth(),
contentAlignment = Alignment.Center
) {
OutlinedTextField(
value = text,
onValueChange = {
text = it
if (text.length >= 3) {
viewModel.getSuggestions(text)
}
},
label = { Text("Search") },
modifier = Modifier.fillMaxWidth(),
singleLine = true,
leadingIcon = {
Icon(
painter = painterResource(id = R.drawable.ic_search),
contentDescription = null,
modifier = Modifier.padding(16.dp, 0.dp, 8.dp, 0.dp),
tint = Color.Unspecified
)
},
shape = RoundedCornerShape(50)
)
DropdownMenu(expanded = suggestions.value.isNotEmpty(),
modifier = Modifier
.fillMaxWidth(0.92f),
onDismissRequest = { }) {
for (suggestion in suggestions.value) {
DropdownMenuItem(onClick = {
viewModel.searchWord(suggestion)
}) {
Text(suggestion)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是一本字典,屏幕上方有这个OutlinedTextField
。
当我搜索一个单词时,我会根据输入获得建议并将其显示在DropdownMenu
.
我面临的问题是,当DropdownMenu
显示 时,键盘消失,但焦点仍然在Text
字段上。我该如何解决这个问题,最重要的是,为什么会发生这种情况?我知道它会根据状态变化重新绘制 UI,但为什么它不保持键盘打开。
小智 13
DropdownMenu(properties = PopupProperties(focusable = false))
Run Code Online (Sandbox Code Playgroud)
检查这个
归档时间: |
|
查看次数: |
1824 次 |
最近记录: |