반응형
SOFT_INPUT_ADJUST_RESIZE를 맨 하단에 있는 editText를 클릭했을때 soft keybord가 올라오면서 editText가 안가려지게 하기 위해 사용하고 싶었으나, 안드로이드30이상부터 deprecated 되었다.
30 이상은 setDecorFitsSystemWindows 를 제공한다고 한다.
이렇게 분기처리를 해주면 된다.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
binding.root.setOnApplyWindowInsetsListener { _, windowInsets ->
val imeHeight = windowInsets.getInsets(WindowInsets.Type.ime()).bottom
binding.root.setPadding(0, 0, 0, imeHeight)
val insets =
windowInsets.getInsets(WindowInsets.Type.ime() or WindowInsets.Type.systemGestures())
insets
windowInsets
}
}else{
requireActivity().window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN or WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE)
}
https://stackoverflow.com/questions/68003131/soft-input-adjust-resize-deprecated-starting-android-30
'IT > Android' 카테고리의 다른 글
안드로이드 / EditText text 위로 정렬 (0) | 2023.05.04 |
---|---|
안드로이드 스튜디오 / GPT-3 API를 이용한 모바일 챗봇 만들기 (0) | 2023.04.13 |
안드로이드 스튜디오 / Appsflyer onelink 적용방법 (0) | 2023.04.06 |
안드로이드 스튜디오 / targetSdk33 알림 권한 요청 (0) | 2023.04.05 |
Hilt 오류? (0) | 2023.03.22 |