안드로이드 Compose - Keyboard 열림/닫힘 이벤트 처리를 위한 라이브러리
Android Compose에서 keyboard가 노출되었는지 알 수 있는 방법은 과거 안드로이드 view 높이 변경으로 가능하다.
공식적인 안드로이드 11부터는 아래의 코드로 확인이 가능하지만 minSdk 버전 제약이 있으니 아직은 과거 형태를 공존시키는 게 좋다.
Android 11부터 활용 가능
Virtual keyboard show/hide event - stack overflow
view.setWindowInsetsAnimationCallback(object : WindowInsetsAnimation.Callback {
override fun onEnd(animation: WindowInsetsAnimation) {
super.onEnd(animation)
val showingKeyboard = view.rootWindowInsets.isVisible(WindowInsets.Type.ime())
// now use the boolean for something
}
})
Compose에서도 특별히 keyboard 노출 정보를 제공하는 라이브러리가 없어서 stack overflow를 통해 확인하면 대부분 기존 view 높이를 기반한 코드를 활용하고 있다.
그래서 Compose에서 활용 가능한 형태로 맵핑하고 이 이벤트를 간단하게 활용할 수 있는 라이브러리를 배포하였다.
이 글에서 알아볼 내용
- View 높이 변경을 측정하여 keyboard 이벤트 처리하는 방법
- CompositionLocalProvider 활용법