안드로이드 11 이전에서는 현재 화면에 키보드가 보여지고 있는지 테스트하는 방법이 마땅히 존재하지 않았다. ViewTreeObserver 와 같은 것들을 이용한 workaround 가 있었지만 어디까지나 workaround 일 뿐 구글에서 공식적으로 지원하는 platform api 가 아니기 때문에 사용하기 망설여진다.
그러나 안드로이드 11 이 후부터는 키보드가 화면에 보여지고 있는지, 아닌지를 platform api 를 통해서 확인할 수 있다. Compat api 를 활용하면 안드로이드 11 이전 버전 (api level 30 이전) 에서도 활용할 수 있다.
다음 한줄이면 충분하다!
val keyboardVisible = ViewCompat.getRootWindowInsets(view)?.isVisible(WindowInsetsCompat.Type.ime()) == true
728x90
'천복만복 프로그래밍 > 천복만복 안드로이드' 카테고리의 다른 글
ShapeDrawable (0) | 2022.02.01 |
---|---|
ViewModelFactory (0) | 2021.12.13 |
ScrollView 안에 있는 EditText 선택시 스크롤 위치 바꿔주기 (1) | 2021.10.19 |
[Android] PopupWindow 로 툴팁 스타일 메뉴 만들기 (0) | 2021.10.10 |
ShapeDrawable (0) | 2021.10.09 |