Provides manual, programmatic control over the software keyboard.
SoftwareKeyboardControllerSample
@Sampled
@Composable
fun SoftwareKeyboardControllerSample() {
val keyboardController = LocalSoftwareKeyboardController.current
// used to ensure a TextField is focused when showing keyboard
val focusRequester = remember { FocusRequester() }
var (text, setText) = remember { mutableStateOf("Close keyboard on done ime action (blue ✔️)") }
Column(Modifier.padding(16.dp)) {
BasicTextField(
text,
setText,
keyboardOptions = KeyboardOptions(imeAction = ImeAction.Done),
keyboardActions = KeyboardActions(onDone = { keyboardController?.hide() }),
modifier = Modifier.focusRequester(focusRequester).fillMaxWidth(),
)
Spacer(Modifier.height(16.dp))
Button(
onClick = {
focusRequester.requestFocus()
keyboardController?.show()
},
modifier = Modifier.fillMaxWidth(),
) {
Text("Show software keyboard.")
}
}
}