Android: картинка с верхним слоем, который прокручивается

Android: картинка с верхним слоем, который прокручивается

Вдохновился новым видом Google Play Market и решил, что пора что-то сделать с отображением информации о продукте.
Придумал показывать как картинку с верхним слоем, который можно прокрутить вниз и открыть всю картинку целиком.

Вот как это выглядит в работе:

Решение оказалось не самым простым — несколько дней думал как это реализовать.
Лэйаут выглядит так:

А вот что нужно было добавить в коде:

Немного пояснений:
— innerView динамически получает паддинг, чтобы было достаточно пустого места для отображения всей картинки на экране.
— вычисление размера viewHeight происходит в OnGlobalLayoutListener потому что весь вью должен загрузиться и только после этого можно определить его реальные размеры.
— на момент открытия страницы я хотел, чтобы сразу был виден верхний слой, но не до конца загруженный. Для этого в OnGlobalLayoutListener запускаем тред с прокруткой. По-другому решить не получалось и похоже это самое лучшее решение. Опять же хотелось, чтобы всегда был отступ и поэтому скрол реализован таким образом.