NestedScrollView 또는 RecyclerView 와 같이 Nested Scrolling을 지원하는
내부 레이아웃을 사용할 때 NestedScrollView CoordinatorLayout 을 사용하여
Material Design Scrolling Effects 를 얻을 수 있다.
AppbarLayout 아래 자식들은 setScrollFlags(int) 메소드나 xml 속성으로 app:layout_scrollFlags을 적용하면 scroll에 대한 행동(behavior)을 설정할 수 있다.
단, 주의할 점은 AppBarLayout는 CoordinatorLayout의 바로 아래 자식이어야 한다.
만약 다른 ViewGroup 안에서 AppBarLayout을 사용한다면 해당 기능은 동작하지 않을 것.
AppBarLayout이 스크롤을 인식하기 위해서는 CoordinatorLayout 안에 같은 수준으로 선언된 형제 뷰(sibling)가 RecyclerView나 NestedScrollView처럼 스크롤 가능한 뷰여야 한다.
value/styles.xml
-> apptheme noactionbar로 설정
해당 activity에서
// ToolBar를 ActionBar로 설정
setSupportActionBar(app_toolbar)
ToolBar의 app:layout_scrollFlags
scrollFlags는 아래와 같은 동작을 설정할 수 있다.
동작 과정
xml 코드
안드로이드 개발을하다 보면 ScrollView 안에 RecyclerView를 넣어야하는 경우가 생긴다.
이럴 때, NestedScrollView를 사용하면 된다. 이름처럼 중첩 된 스크롤 뷰라는 뜻이다.
사용하는 상황은 다음과 같다.
동작 과정
xml과 화면 구성