Я пытаюсь создать скользящую панель, содержащую RecyclerView и перекрывающую другое представление, подобное тому, которое показано в https://github.com/umano/AndroidSlidingUpPanel, или используемому в приложении Lyft:
Изображение раздвижной панели Lyft
Я хотел бы иметь возможность загружать действие с большей частью скрытой скользящей панели, а затем дать пользователю возможность перетащить скользящую панель и развернуть ее на полную высоту, прежде чем включить режим прокрутки RecyclerView. Когда пользователь хочет закрыть панель, он должен прокрутить до верхнего положения RecyclerView, прежде чем панель начнет закрываться и вернется в исходное, закрытое положение.
Основные проблемы, с которыми я не могу понять:
- Как мне структурировать файл макета, чтобы добиться такого поведения? Должен ли я просто иметь RecyclerView, а затем программно изменить поведение движения прокрутки, чтобы оно действовало как скользящая панель, пока не достигнет развернутого положения? Или я должен встроить RecyclerView в другой, невидимый View, а затем каким-то образом заставить прикосновения и перетаскивания пользователя сначала воздействовать на невидимый View (как скользящая панель), а затем снова включить прикосновения, чтобы повлиять на поведение прокрутки RecyclerView, когда он полностью развернут? Или есть другой, более простой способ сделать это?
- В случае, если мне нужно направлять касания пользователя к различным элементам пользовательского интерфейса и включать / выключать прокрутку / скольжение, как бы я это сделал?
Заранее извиняюсь, если это немного сложно понять; Я постараюсь перефразировать его, если будет непонятно.