可以给Dialog中的TextField添加onImeActionPerformed监听器。当用户在输入完成后点击键盘上的“完成”键时,它会被调用。在这个监听器中,我们可以指示对话框的取消。
示例代码:
@Composable fun ComposeDialog() { val showDialog = remember { mutableStateOf(false) } val text = remember { mutableStateOf("") } if (showDialog.value) { Dialog( onDismissRequest = { showDialog.value = false } ) { Column { Text(text = "Enter your name")
TextField(
value = text.value,
onValueChange = {
text.value = it
},
modifier = Modifier
.fillMaxWidth(),
keyboardOptions = KeyboardOptions(
imeAction = ImeAction.Done
),
keyboardActions = KeyboardActions(
onDone = {
showDialog.value = false
}
)
)
Button(
onClick = {
showDialog.value = false
}
) {
Text(text = "Ok")
}
}
}
}
Button(onClick = {
showDialog.value = true
}) {
Text(text = "Show dialog")
}
}