-
Notifications
You must be signed in to change notification settings - Fork 4
✏️ 박명범_스크롤이 왜 이상하게 동작할까
박명범 edited this page Dec 14, 2022
·
1 revision
기존 구조에선 ConstraintLayout > ScrollView > ConstraintLayout > AppBarLayout > Toolbar
구조로 되어있었다. 그래서 위와 같이 스크롤을 빠르게 올리면 툴바가 띠용 하고 떨어졌다가 붙는 현상이 있었다.
이를 개선하기 위해 다음과 같은 구조로 변경했다
CoornidatorLyaout > (AppBarLayout > Toolbar), (ScrollView > ConstraintLayout)
여기서 두 가지 문제점이 발생했다.
첫 번째는 밑으로 더 스크롤 할 수 있는 뷰임에도 스크롤 되지 않고 밑부분이 잘려서 보이는 버그 (툴바의 높이 만큼 잘리는 것으로 보인다)
두 번째는 화면의 길이가 길어졌을 때 앱바가 숨어버리고, 맨 밑까지 보이긴 하지만 더 이상 앱바가 등장하지 않는 버그
이 문제를 해결하기 위해 다양한 시도를 해보았다.
- launchMode 변경
- layout_scrollFlags 이리 저리 바꿔보기
- fitsSystemWindows 설정해보기
- 등등...
하지만 결국 찾은 원인은 android:nestedScrollingEnabled="true"
옵션이었다. ScrollView 에 이 속성을 설정해주니 정상적으로 동작하게 되었다.
위와 같이 정상적으로 동작하게 된다. (스크롤이 맨 위까지 닿은 후에 한 번 더 스크롤을 내려 줘야 앱바가 보이긴 한다)
참고로 위 동작은 툴바의 layout_scrollFlags
가 scroll|enterAlwaysCollapsed
일 때의 동작이다.
- 안드로이드에서 지문 인증 하기!
- Firebase Google 로그인 세팅 중 겪은 오류
- 양탐정의 viewModelScope.launch 살인사건 수사일지
- 쉿! KeyStore과 Cipher
- WorkManager 알림과 위젯을 사용해보자!
- 애니메이션으로 삡에 숨결 불어넣기
- 리뷰어 등록을 자동으로 해보자
- Mockk을 활용한 테스트
- 검색 결과를 Room에 캐싱해보자!
- Room One to Many
- CustomException 과 Result를 적극 활용해보자!
- View의 Event를 처리하기 위한 상태 클래스를 만들어보자!
- WorkManager 알림과 위젯을 사용해보자!