반응형
안녕하세요
이번 포스팅에는 화면이 시작하자마자 TextField에 Cursor가 Focusing 되게 처리하는 코드를 구현해보겠습니다.
focusRequester
FocusRequester는 특정 시점에 Focus를 변경 요청을 하는데 사용됩니다.
예제
val focusRequester = remember { FocusRequester() }
...
BasicTextField(
modifier = Modifier
.fillMaxWidth().focusRequester(focusRequester)
)
...
LaunchedEffect(Unit) {
focusRequester.requestFocus()
}
먼저 FocusRequester를 이용하여 remeber 블록으로 변수를 생성합니다.
그리고 Focusing을 할 Component에 Modifier.focusRequester(focusRequester)를 선언합니다.
마지막으로, 특정 시점에 focusRequester.requestFocus()를 호출합니다.
저는 화면이 시작할 때, focusing 변화를 주기위해 LaunchedEffect을 활용하여 focusRequester.requestFocus() 를 호출합니다.
결과
적용 전 | 적용 후 |
적용 전은 지도 상의 SearchBar 클릭 시 Cursor 가 잡히지 않아, 키보드가 올라오지 않지만,
적용 후에는 지도 상의 SearchBar 클릭 시 Focusing이 설정되어 키보드가 올라오게 된다.
오늘은 Jetpack Compose의 Component Focusing에 대해 포스팅해보았습니다.
잘못된 내용이 있다면 댓글 부탁드리고, 내용이 좋았다면 공감, 구독 부탁드려요
반응형
'DEV > Android' 카테고리의 다른 글
[TIL-230726] Jetpack Compose - BottomSheetScaffold (0) | 2023.07.27 |
---|---|
[TIL-230718] 주소 텍스트로 위치 마킹하기 (0) | 2023.07.18 |
[TIL-230705] Google Map - 지도 출력시 마지막 위치로 시작하기 (Jetpack Compose) (0) | 2023.07.05 |
[TIL-230623] StateFlow 알아보기 (0) | 2023.06.28 |
[TIL-230626] Android Flow 알아보기 - 2 (0) | 2023.06.27 |