Исправлен заголовок с CoordinatorLayout, показывающим тень при прокрутке

Классическая раскладка координатора дает вам следующий [источник]: http://androcode.es/wp-content/uploads/2015/10/simple_coordinator.gif

Однако я не хочу, чтобы верхние представления заголовка прокручивались до тех пор, пока они не "станут" панелью инструментов, закрепленной сверху, с тенью внизу. Я хочу, чтобы все они были исправлены (или закреплены), но чтобы показать тень, только вложенный вид прокрутки начинает прокручиваться под закрепленными. Что-то вроде основной панели приложений на устройствах Marshmallow, где "панель поиска" закрепляется, а список приложений прокручивается под ней.

Надеюсь, я ясно дал понять. Есть ли какой-нибудь простой способ добиться этого, не прослушивая события прокрутки и не обрабатывая их вручную?

РЕДАКТИРОВАТЬ

Вот что я пытаюсь достичь:

Ящик приложения, Обратите внимание на правое изображение, как теперь есть тень под списком приложений, потому что пользователь прокручивал список.

Спасибо!

1 ответ

Это именно то, что вы ищете: HideOnScroll

Изначально установите для actionBar значение 0. Добавьте прослушиватель прокрутки к элементу прокрутки. Когда вы обнаруживаете, что он прокручен (dy > 0), вы устанавливаете высоту actionBar на 4dp(высота actionBar по умолчанию) и обратно на 0dp при dy == 0.

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

Другие вопросы по тегам