[Android] NestedScrollView

Study/Android Studio 2021. 2. 6. 09:12 Posted by meanoflife
반응형

NestedScrollView

 

화면 스크롤을 처리하는 방법 중 NestedScrollView 객체에 대해 알아보겠습니다.

 

ScrollView 객체를 이용하여 화면을 구성하다보면, 이중 스크롤이 생겨 문제가 되는 경우가 있습니다.

ListView나 RecyclerView 같은 컴포넌트는 기본적으로 스크롤 기능을 가지고 있어 ScrollView객체 안에서 사용하게 되면 이중 스크롤이 생기게 됩니다.

 

다음과 같은 구조로 예를 들어보면...

 

[그림] ReferceBook app의 조회화면

 

파랜색으로 된 영역은 RecyclerView를 이용하여 구현된 부분이며, 붉은색으로 된 영역이 NestedScrollView로 구현한 부분입니다. 붉은색으로 처리되는 스크롤영역 안에 파란색으로 된 (내부)스크롤영역이 포함되어 있습니다.

 

위와 같은 경우, Example의 파란색 영역의 데이터가 많아서, 전체화면을 넘어가면, ScrollView객체를 이용하면 이중 스크롤이 생기게 되어 의도하지 않은 결과가 나타날 수 있습니다.

붉은색 영역을 스크롤로 선언했다는 것은 영역내의 데이터가 많으면 전체 영역을 스크롤 하겠다는 의도이므로, 내부에 이중스크롤이 생기면 안됩니다.

 

이를 처리하기 위한 객체가 NestedScrollView입니다.

NestedScrollView를 사용하면 내부에 스크롤이 생기지 않고, 아래와 같이 정상적으로 출력이 됩니다.

 

[그림] 이중 스크롤이 생기지 않게 처리한 화면

 

The End.

 

반응형