CoordinatorLayout - сверхмощный FrameLayout.

Введение

CoordinatorLayout предназначен для двух основных вариантов использования:

  • В качестве декорации приложения верхнего уровня или макет Chrome

  • В качестве контейнера для определенного взаимодействия с одним или несколькими дочерними представлениями

Указав поведение для дочерних представлений CoordinatorLayout you может обеспечить много разных взаимодействий в пределах одного родителя, и эти представления также могут взаимодействовать друг с другом. Классы представлений могут указывать поведение по умолчанию при использовании в качестве дочернего элемента CoordinatorLayout с использованием аннотации DefaultBehavior.

Поведения могут использоваться для реализации различных взаимодействий и дополнительных модификаций макета, начиная от выдвижных ящиков и панелей и заканчивая отклоняемыми элементами и кнопками, которые прилипают к другим элементам по мере их перемещения и анимации.

У дочерних элементов CoordinatorLayout может быть привязка. Этот идентификатор представления должен соответствовать произвольному потомку CoordinatorLayout, но это может быть не сам привязанный потомок или потомок привязанного потомка. Это можно использовать для размещения плавающих представлений относительно других произвольных областей содержимого.

Официальная документация