본문 바로가기
Android 개발/Android UI

CoordinatorLayout과 Behavior

by Developer88 2019. 5. 30.
반응형

CoordinatorLayout을 앱에 많이 적용하게 되는데요.

안드로이드 특유의 UI이기도 하고, 유연성도 커서 종종 사용하게 되는 것 같습니다.


CoordinatorLayout의 Behavior로 appbar_scrolling_view_behavior를 

NestedScrollView나 RecyclerView에 자주 사용해 왔는데요.


Header영역에 있는 View의 경우, 원하는데로 동작하기 위해서는

Custom한 Behavior Class를 생성해주고 사용해야 합니다.


오늘은 이 방법에 대해서 정리해 보겠습니다.



1.  Behavior Class


CoordinatorLayout은 자신에 속해있는 

ChildView들에게 다른 View의 스크롤 변화값을 전달해 주는 역할을 합니다.

이 값에 따라서 어떻게 행동해야 하는지를 정의해 놓은 것이 Behavior클래스 입니다. 


실제로, CoordinatorLayout안에는 AppBarlayout이나 FloatingActionButton을 놓는 경우가 많은데요.

onDependentViewChanged()콜백을 통해서, 받은 터치나 제스쳐 정보들을 바탕으로,

Coordinator.Behavior를 통해서전달해 줍니다.


사용하는 방법은 아래와 같은데요.

CoordinatorLayout.Behavior<View>클래스를 상속받아서 생성해 줍니다.




1.  onStartNestedScroll 과 



CoordinatorLayout의 Child View가 스크롤되는 것은,

Behavior의 onNesteScoll() 메소드들을 통해서 전달 받습니다.


728x90

댓글