I have a Jetpack Compose (Beta04) BasicTextField (with decorationBox). How can I clear the focus?
I have tried with focusRequester but this doesn’t works:
val focusRequester = remember { FocusRequester() } // ... BasicTextField(modifier = Modifier.focusRequester(focusRequester), /* ... */) // ... placesFocusRequester.freeFocus()
Answer
To clear focus from the currently focused component you can use the FocusManager.clearFocus
method:
val focusRequester = remember { FocusRequester() } val focusManager = LocalFocusManager.current var value by rememberSaveable { mutableStateOf("initial value") } BasicTextField( value = value, onValueChange = { value = it }, decorationBox = { innerTextField -> Row( Modifier .background(Color.LightGray, RoundedCornerShape(percent = 30)) .padding(16.dp) .focusRequester(focusRequester) ) { //... innerTextField() } } ) Button(onClick = { focusManager.clearFocus() }) { Text("Clear focus") }