CoordinatorLayout входит в Android Jetpack. CoordinatorLayout позиционируется как улучшенный FrameLayout.

CoordinatorLayout позволяет контролировать взаимодействие дочерних View между собой. Одна из задач, которая решается с помощью CoordinatorLayout – скрыть ActionBar при скролле вниз и показать при скролле вверх.

Для настройки поведения дочерних View используются Behaviors-атрибуты.
Кроме существующих реализаций Behaviors, таких как AppBarLayout.ScrollingViewBehavior, можно создавать кастомные. Для этого необходимо создать наследника класса CoordinatorLayout.Behavior и указать полное имя класса в атрибуте app:layout_behavior.