Проблема: есть список, который имеет внушительного размера анимированную шапку. Шапка может разворачиваться и сворачиваться обратно по клику.

Это первоначальное состояние списка.

Это список с развернутым header, в действительности шапка может быть больше.

После сворачивания шапки scrollPosition списка оказывается не в начале, а отмотанным на энное количество пунктов вниз.
Как можно добиться прокрутки самого списка вверх вместе с анимацией сворачивания шапки, чтобы при окончании анимации список оказывался промотанным к началу? Вариант прокручивать список к началу после окончания анимации выглядит убого. Вариант перенести шапку, чтобы она выплывала сбоку, к сожалению, тоже не подходит, в дизайне нарисовано так.
Или попробовать зафиксировать как-то шапку, чтобы скролл у списка не ползал при изменении её размеров? Или смотреть в сторону Coordinator Layout? В общем, полный ступор и гугл не помогает.
Заранее спасибо не прошедшим мимо)