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 = "닫기")
}
}
}
'Android > Jetpack Compose' 카테고리의 다른 글
Jetpack Compose System UI Hidden 처리 (0) | 2022.11.03 |
---|---|
Jetpack Compose TextField 날짜, 시간 마스킹 처리 (0) | 2022.11.02 |
Jetpack Compose mutableStateOf 사용 방법 (remember, by, 코틀린 구조 분해) (0) | 2022.10.28 |
Jetpack Compose CompositionLocal (0) | 2022.10.27 |
Jetpack Compose ConstraintLayout (0) | 2022.10.27 |