일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 취준기록
- recyclerview
- 다시정리하기
- foldindexed
- filternot
- Filter
- 알고리즘 인증
- 알고리즘 인증_2주차
- array랑 list
- iPortfolio
- 다시봐
- 코딩테스트
- 코틀린
- 알고리즘 인증_1주차
- 다시 정리해야함
- Today
- Total
Moments of growth
[kotlin] 스크롤뷰 bottom으로 제약을 준 view가 키패드 올라올 때 따라 올라오는 현상 막기 본문
[kotlin] 스크롤뷰 bottom으로 제약을 준 view가 키패드 올라올 때 따라 올라오는 현상 막기
뮤링이 2022. 7. 10. 23:42NestedScrollView에서 맨 밑에 있는 버튼을 bottom으로 제약을 주게 되면 키패드가 올라올 때 같이 따라 올라오게 되는 문제가 발생한다.
android:windowSoftInputMode="adjustPan"
흔히 구글링해서 해결책으로 나오는 방법인데 scrollview에서는 적용되지 않는다.
그렇다고 scrollView를 안 쓸 수가 없었는데, 키보드가 올라올 때 자동으로 edittext가 가려지지 않게 올라가는 액션을 쓰기 위해서 scrollView를 포기할 수 없었다.
이 문제를 아래와 같이 해결했다.
NestedScrollView 안에(cl_bg 안에) constraintLayout을 2개 넣은 구조
결론적으로 내용 작성하는 edittext와 다음 버튼 사이에는 일정한 간격이 최소한으로 벌어지고, 기기 사이즈에 따라서 더 간격이 넓어진다. 그리고 다음 버튼은 기기 사이즈에 관계없이 bottom으로부터 28dp 떨어지게 된다. 또한 키보드가 올라올 때는 버튼은 따라 올라오지 않고 뒤로 숨겨진다.
해결 완료!
android:fillViewport="true"
ScrollView의 하위 View의 height에 match_parent 속성을 주면 적용 되지 않는다.
하지만 fillViewport = true로 하면 하위 View의 크기만큼 ScrollView가 늘어난다.
Reference)
안드로이드/Android 스크롤뷰(ScrollView) 사용법
안드로이드/Android 스크롤뷰(ScrollView) 사용법 스크롤뷰(ScrollView) 사용법 입니다. android:fillViewport="" : ScrollView의 하위 View의 height에 fill_parent 속성을 주면 fill_parent 속성이 적용..
arabiannight.tistory.com
'Android [Kotlin] 💻🤍' 카테고리의 다른 글
[kotlin] elevation이 안 먹히는 경우 (0) | 2022.07.11 |
---|---|
[kotlin] 백스택 정리 (0) | 2022.07.11 |
[kotlin] 스크롤 막대 항상 표시하는 방법 (0) | 2022.07.10 |
[kotlin] 상단 상태바 높이 구하기 + 현재 뷰 높이 구하기 (0) | 2022.07.10 |
[kotlin] dp를 px로 바꾸는 함수 (0) | 2022.07.10 |