Skip to content

✏️ 박명범_스크롤이 왜 이상하게 동작할까

박명범 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_scrollFlagsscroll|enterAlwaysCollapsed 일 때의 동작이다.

✍️ BEEP Tech Blog

박명범

양수진

김명석

이지훈

👾 BEEP

🗣 Ground Rule

✏️ Conventions

⚙️ Setting

🌱 Daily Scrum

week 1
week 2
week 3
week 4
week 5
week 6
Clone this wiki locally