Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Flutter
- 안드로이드 컴포즈
- 안드로이드 개발자
- Firebase
- RxKotiln
- 안드로이드 다이얼로그
- 코루틴
- Dev6
- 개발자
- Rxjava 안드로이드
- Swift 문법
- 알고리즘
- react
- Go언어
- android
- 반응형 프로그래밍
- android compose
- 이펙티브코틀린
- 이펙티브 코틀린
- Kotiln
- RxJava
- swift map
- 프로그래머스
- 코딩테스트
- 안드로이드
- Java
- MVVM
- 코틀린
- 일상
- 잡담
Archives
- Today
- Total
최데브는 오늘도 프로그래밍을 한다.
안드로이드 키보드 높이 구하기 본문
반응형
키보드가 올라왔을때 키보드 위로 특정 레이아웃을 올리고 싶을때가 있다.
매니페스트 파일이나 코드상으로 넣어도 화면 구조상 어려워서 원하는대로 동작하지 않을때가 있는데
아래와 같은 방법으로 해결 할 수 있다.
화면의 적당한 곳에 아래 코드를 적어준다. 이 코드를 Fragment 에서 사용했을때 기준이다.
ViewCompat.setOnApplyWindowInsetsListener(requireActivity().window.decorView.rootView) { _, insets ->
val sysBarInsets = insets.getInsets(WindowInsetsCompat.Type.systemBars())
val imeHeight = insets.getInsets(WindowInsetsCompat.Type.ime()).bottom
updateViewPositionForKeyboard(imeHeight - sysBarInsets.bottom)
insets
}
private fun updateViewPositionForKeyboard(keyboardHeight: Int) {
val layoutParams = binding.키보드위로 올리고 싶은 레이아웃의 id.layoutParams as ConstraintLayout.LayoutParams
if (keyboardHeight > 0) {
layoutParams.bottomMargin = keyboardHeight
} else {
layoutParams.bottomMargin = 0
}
binding.키보드위로 올리고 싶은 레이아웃의 id.layoutParams = layoutParams
}
반응형
'Android' 카테고리의 다른 글
안드로이드에서 FFMPEG로 m3u8 to mp4 하기 (1) | 2023.12.02 |
---|---|
Android Room Entity Relation (1) | 2023.12.02 |
라이브러리 배포 후 적용을 하려는데 NoClassDefFoundError ? (0) | 2023.11.16 |
eventFlow 방식으로 이벤트를 처리하고 있을 때 든 생각 (1) | 2023.07.05 |
MockK 를 사용해서 테스트 코드를 적어보자 (2) | 2023.05.14 |
android 12 블루투스 대응 (0) | 2023.04.06 |
Navigation Component 에서 그래프 여러개 관리하기 (0) | 2022.12.11 |
멀티모듈로 배포할때 파이어베이스 관련 이슈 (0) | 2022.11.06 |
Comments