본문 바로가기

Android/Jetpack Compose

Jetpack Compose 키보드 내리기

Compose에서 키보드 내리는 방법은 간단하다.
LocalFocusManager.clearFocus()를 사용하면 해결된다.
TextField에서 keyboardOptions과 keyboardActions을 사용하여 키보드에서 '완료'를 눌렀을 때 키보드를 닫아주고,
'닫기' 버튼을 눌렀을 때 키보드를 내려주도록 구현했다.

 

 

@Composable
fun MainView() {
    Column(
        modifier = Modifier.fillMaxSize(),
        horizontalAlignment = Alignment.CenterHorizontally
    ) {
        val textFieldValue = remember { mutableStateOf("") }
        val focusManager = LocalFocusManager.current

        TextField(
            value = textFieldValue.value,
            onValueChange = { textFieldValue.value = it },
            keyboardActions = KeyboardActions(onDone = { focusManager.clearFocus() }),
            keyboardOptions = KeyboardOptions(imeAction = ImeAction.Done)
        )

        Button(onClick = { focusManager.clearFocus() }, modifier = Modifier.fillMaxWidth()) {
            Text(text = "닫기")
        }
    }
}